A policy I would suggest to Microsoft is that when an OS version "goes off support" that they provide a downloadble "virtual machine version" for the current "still on support" OS's. The inability to run legacy software is a thing that holds many people back from upgrading to a new OS, including me. I have programs that I absolutely HAVE TO BE ABLE TO RUN on some of the machines that I use, so I will stick with an "off support" version just to be able to run that software. The notion of having to "buy a license" to the older version, install it separately, fight with getting a virtual machine set up correctly, etc. etc. is just too much hassle (and often doesn't work).
I'm fighting exactly that right now. I have a PC that is the controller for a CAM machine. Said PC just "croaked", and I need a new machine quickly. The only ones available quickly are loaded with Windows 8. I have spent much of the past two days fighting to get the software to run. FAR better to simply be able to go to "compatibility mode", choose "7", "Vista", "XP", "Millenium" (well, maybe not Millenium), "98" or even "3.1 and DOS", and then load my software and KNOW that it will run on the new machine.
I suspect the result of such a policy would be a much faster hardware AND software upgrade cycle.