What if the customers don't want to still be running windows 95 just because the developers are too lazy/incompetent to change a few API calls?
The customers don't need to use windows 95 because of backwards compatibility. That was the entire point, sheesh.
This is about MS building a platform (a foundation) and us building upon it without the fear of our base being pulled out from under us at some point in the future. This is a major reason why companies invest in building their software on top of windows.
If company C follows the best practices, of the time the apps were produced, then fixing breaking changes should be trivial
This just isn't true, first you're asking companies to continually update their software for the latest windows APIs. This just isn't practical for many companies that are 'done' with whatever component, and don't see the need for re-compiling it every x number
The same is true on the receiving end, a new version of windows shouldn't break all the components developed or bought by a company.
And on the customer end imagine if vista really did break all software, do you understand the sheer scale of the situation? Geek A needs to get a job, and see what the real world is like. Many many many companies are still writing their production software
in VC6 and VB6.