Erik,
I didn't even know what a computer was in 1989! My first application, in 1994, I had only 10 or so forms, and I carefully created duplicates for each--one set fitting 640x480 and one set fitting 800x600. At startup the user had a choice of which resolution, upon making the choice, I renamed, ie. frmOrders_640 to frmOrders, and so on, first checking to see which form was already frmOrders, etc. and renaming it back to, say frmOrders_800, etc.
Talk about a maintenance nightmare! It did the job, though. I had later read some code in an Access book that dynamically resized, but it was imprecise--the resultant forms always looked jagged, things never lined up just right--close, and a good effort (I think it was by Ken Getz), but not the perfect solution. Sticking with 800/600 as a standard is the best way in my opinion. If a user has 640x480, just I tell them to get real (in a slightly more tactful way), and you may be tucked a bit to the upper left when they have bigger screen res, but that's the way it goes.
--Jim