M$ is incapable of writing decent Code so they need to blot new products to make them sort of work right for any update or new release.
With M$ Coding you Can Not install older OS's on Modern Hardware just try installing NT4 to a HDD with more than 1022 Cylinders and see what happens.
M$ knows that hardware is getting cheaper and more of it for a similar price so they have no need to be clever in their coding. If they can write a bit of code to do something in five lines they will supply something with 25,000 lines to do the same thing. This comes about because of the way that they develop software with different people writing code for different blocks and when it comes time to fit it all together there is no one with any understanding of how the entire system works so they have to mess around and make it fit together.
It reminds me of a book i read years ago where there where Expert Programmers for individual subsections of the system and they constantly improved the bits that they knew but because no one had any idea of the entire System the Upgrades which worked perfectly when confined in the Subsystem caused other things to break so they where effectively destroying a proven system in an attempt to make things better.
MS apparently never read this book whatever it was and are working this way because it's faster & easier having less skilled programmers who do not know how the entire system works.