Maybe Microsoft has fixed this, but after charging customers $5k - $10K+ in labor for the hours and hours it took to upgrade from Exchange 5.5 to Exchange 2000, then again from Exchange 2000 to 2003, then again from 2003 to 2007, I got frustrated with the overly complicated procedures required to perform Exchange upgrades and moved my clients to hosted exchange services.
My basic argument was this:
- OK, you've bought your stand-alone exchange server for your 50 users (one physical server: $5k software plus $5k hardware, or virtualized environment: $much $more)
- At least every 4 years, you'll need to spend $5k - $10K on new hardware and software plus $5K - $10K in labor to upgrade the server - a total of $10k - $20k
- with hosted exchange accounts costing around $7 ea, $10K - $20K every 4 years accounts for 30 - 60 hosted exchange mailboxes
These numbers change significantly if your client is able to get Microsoft non-profit or academic pricing -- but in that case they could also get Microsoft's free Office365 and get hosted exchange at no cost.
The relative cost to install each upgrade changes if you're hosting enough exchange servers to share the upgrade learning curve among multiple clients, or if you have a reliable virtualized environment that supports high availability, or if you're hosting enough exchange users to change the pricing calculations.
I have had exchange customers hosted at 123together.com since 2003 with very few problems.
At my "day job" (for non-technical reasons) we use Kerio Connect - a reasonably complete exchange clone that runs on any OS (windows, linux, os x) and allows upgrades to new hardware using a single restore command in whatever amount of time is required to actually copy the mailbox data to the new server. We have about 130 users on a mix of mac and Windows boxes, with many also using ipads, iphones, and android on a 3-year-old mac pro server. Kerio provides a 30-day trial license if you want to test it out.
A colleague of mine supported his exchange servers through paid Microsoft support incidents -- despite having some technical knowledge, he would open a ticket, pay the fee, then play dumb until the remote Microsoft engineer had fixed the problem -- whatever it was. Install/reinstall/backup/restore/ -- he would spend 4 - 6 hours at a time sitting on the phone with the microsoft techs until the problem at hand had been resolved.
Good luck!