1 There is no default resolution. You can observe what resolutions have your clients and take averenge one.
This is tip for you if you develop app for a company. Just go there and take info about it. And if you have need to design app only for one resolution - make sure that company will be ok to have all computers set to this resolution. it's in 99% not able to do, but sometimes it can be done, when your app is so specific and rare and computers are bought only for this one and only app, like netbooks.
2 How to handle different resolutions? Use Dock and Archon methods available mostly in every these days GUI application development tools.
When you will use this, controls will naturally scale to size of a screen and your controls will no longer go behind corners of your app.
3 There is no restriction to build app for a resolution you choose.
But nowadays app I think can assume that res is min. 1024x768. And when it overlaps like you describe on 800x600 just don't bother yourself to implement fancy logic to handle this one. User will catch fast that he needs to change res to higher one.