Petrell: I'm not we're complaining about backward compatibility or rather their lack of it. If I'm to migrate to new OS, I expect my old programs to work at least as well as they did in my previous OS/PC.
That is not the software developers fault but the OS writers; look at OS X (yes, I'm getting bored of giving it as an example but that's just it is) and the step they took when moving from 9 to 10 and now dismissing the PPC architecture. They provided compatibility layers (be they VMs etc.) to make sure that the old apps (or most of them) would still work.
On the other hand you can't expect a piece of software to have infinite shelf-life because most of the gamers nowdays aren't interested in games from 10 years ago so it isn't viable neither for the game company to re-port it (money spent on a product that won't return the investment) nor for the OS (they're games, gamers play what's new... we aren't talking about business apps here).
So the whole point of this discussion is sort of invalid because of the points mentioned above and by others in previous posts.
Edit: Also, your old programs that worked on your previous OS will work unless they do either a stupid version check (that programmer should be shot) or the OS changes it's architecture in a solid way (if so they will for sure use a VM to provide previous gen software support).
If you're talking about programs that stopped working when you switched from 98 to XP or even from DOS to 98 then you can't really expect them to work in Vista or Windows 7 or whatever.