Preventing Another Vista-like Release With Windows 7
I don't think the answer is to provide yet another windows version. Having a "new" and "legacy" version is only going to make the problem worse. Imagine if Microsoft came out now and said they were going to support XP for 5 more years with fixes as the "legacy" version. Now no one will be forced to upgrade. Many people like XP better but accept the fact that eventually they will need to go to Vista. For Microsoft, they want to keep people at their latest version because it is easier to support the newer and hopefully "better" code than the old.
I think a a better way is to do smaller incremental releases. Sure MS may only want to make people drop the 200$ every 4-5 years, but they could make make their service packs yearly and include more new features (similar to XP SP 2). Then when it comes to the next Windows release it hopefully will not be such a drastic change for users.