check out
getgraphicsmodeIt will tell you exactly which display modes are supported by the computer in question. No need to guess 16, 24 or 32 bit, when you can find out from the graphics adapter if it even supports those.
Another potential problem when you 'assume' that 800x600 will work, is that nowadays there are more and more systems with a widescreen display, especially laptops, that no longer support the 640x480 or 800x600 screenmodes, so those aren't always a safe fall-back resolution either.
You can then just look down the list of available options, and pick whichever which one would work best with your game. If you can't find anything suitable for full-screen mode, you can always fall back to windowed mode at that point.
(One caveat: When it comes to refresh rate, keep in mind that it's possible for a graphics adapter to support a refreshrate in a certain resolution that may not be supported by the monitor in question... so try to play if safe if you pick a refreshrate.)
Here's a sample:
' enumerate all available resolutions:
For x=0 To CountGraphicsModes()-1
GetGraphicsMode(x,wid,hei,dep,her)
Print x+" Width: "+wid+" Height: "+hei+" Depth: "+dep+" Hertz: "+her
Next
Now, as far as whether it's best to pick 16 bit or 32 bit: most of the time 32 bit will look better, but you also need more video memory. I suggest you take a look at the highest supported resolution: if you see something low like 1024x768 as the maximum resolution, then the video card probably isn't very high end, and likely won't have a lot of memory to work with... you may want to consider defaulting to 16 bit at that point, so you save some meory you can use to store your images in. If you higher resolutions as well, you could pick the 32 bit version. Of course, after successfully launching the application, you can always make it customizable in your game options.