Oh I know they can look horrible, but I do it anyway... Thats also why I keep my image files external to the program, that way once the user gets his cab setup he/she can resample the images to the appropriate size.
I'm not quite sure what you mean by extra logic. Here's what I do: (I realize it's a different coding lang., so it'll be different.)
You take all the objects on the form and upon initilization you actually place/resize them. You place them not in actual pixel values but as a percentage of the total screen size. Before you place anything you call GetSystemMetrics to get the screen resolution and manually resize the form to the screen size. Now you place everything in relative position to the height and width of the screen. Once your done make the form visible. Now your app instantly supports any resolution!
Once again I don't know if the language your using supports such functions. I realize it's a pain to code this way, but it makes it easier in the long run. When I wish to add something I don't have to fiddle with it's size and shape, I can just plop it on the form, assign values to it, and it'll take care of the rest.