rwade - if you have backed up your database correctly - then there really shouldn't be any worries about attempting to upgrade, and I've upgraded several sites - dnn 4.3.3>> 4.3.4>>4.3.6 and now to 4.3.7 and it's been pretty painless.
My suggestion when backing things up - if they are done correctly then reinstalling should it fail should not be as traumatic as you've pointed out, but like you I am very very nervous when I'm about to do an upgrade and now, often I'll do a test upgrade on the portal either locally or on a dev url on my server.
I do understand however, the challenges for those who have a hosted solution and have to use FTP to upgrade and then we have the common problems with some files not being uploaded, things timing out, people hitting the site, prior to the upload occuring, so it does tend to leave a situation where things can go pearshaped!!
Having said that - sometimes it's important to take some time to look at what modules you're running so that you can ensure they will work properly on upgrading, as I've seen some upgrades fail due to third party modules and guess what - if they're on the front page, it has and can cause some problems.
Do you have a local environment or are you someone who has to work live all the time - eg.. your site is hosted by someone?
I've read and seen quite a few different ways people upgrade their sites, and the key for a successful upgrade, in my opinion, is to have a good backup in place, eg.. have ALL the old files downloaded on your server and zipped up for safe keeping, then, have your database backed up prior to commencing, and have that downloaded to - if possible so you have a complete current build prior to upgrading.
I would also look at doing this at a time of day when the site is less busy - so you're not getting hits to the site, and put on the site and index.htm or default.htm file with an upgrade message - it won't stop people clicking links they know but will stop new people on the site from hitting the page and causing an attempted uprade.
You can turn the auto upgrade 'off' in the web.config file - so it won't try to upgrad while the page refreshes.
And to be honest, you don't always need to upgrade to the latest version of DotNetNuke, unless there is a security reason. I have several different versions of DNN running, including dnn 1, dnn2, dnn 3.1.1, dnn 3.2.2, dnn 4.3.4, and now 6 & 7, and these sites run well as they are, including my 3.1.1 build whic runs like a rocket with many child portals.
Unless there is some particular feature you're looking at implementing, the need to upgrade seems to be one that some people find a priority. And while there is the argument that if you don't continue upgrading, then it may make it more difficult to upgrade in the future, I'm thinking sometimes it's best to work with a build that is working well for you and not get the headaches you get when situations as you explained occured.
So, while I've not given you a *how to* in detail, I hope I've given you a few pointers to help you make your upgrade environment a bit better.
One more thing while I think of it, DNN, to my knowledge doesn't always have the best upgrade path in some versions, but others they work specifically on different areas, and I've known some builds to have better upgradability than others.. so once again, just some food for thought and hope you understand that your concerns are shared by many others, and some upgrades work better than others.
Nina Meiers