uh. No. an OS is designed to run apps. Its its function hence OPERATING system.
Sure, to run applications designed to work on it.
Vista is a different operating system to XP, let alone Windows 1.0.
There were a lot of programs designed for Windows 98 that would no longer work on XP either, yet at the time noone seemed to care about that.
Of course back then most of them were games people were no longer interested in.
It's the nature of the game. Either you loose compatibility with older software at some point or you get a bloated, insecure, impossible to maintain, and quite probably glacially slow, monstrosity.
Microsoft does a lot to ensure things will remain working, but they can't test everything and sometimes have to make tough decisions.
They also provide software makers with information (and prerelease versions) quite a long time before a new OS is released to manufacturing, giving them plenty of time to update and test their products if they so wish. If not all of them do that that's not Microsoft's problem, yet you blame them for the laxness of those other companies.