See my post RIGHT below yours.
Not true.
I run school networks, and we have legacy software going back to the floppy-disk days.
I impose a 5-year limit after the manufacturer was last active because, after that, sometimes it's too much pissing about to run the program, if that's even possible.
Going to Windows 8 64-bit broke FOUR programs that work absolutely fine on Windows 8 32-bit. And I'm using images configured in exactly the same way and thus in a highly reproducible environment.
Some shit breaks on EVERY Windows update. I condemned 10 pieces of our software when we went from 7 to 8. I condemned even more in a previous XP -> 8 move. Fact is, most people just don't care in schools because 10 year old software is ten-years out of date on the curriculum side. But for sure there is NOTHING as simple as you suggest.
Fuck, when I move OS at a site, my rule is "All your software needs to be handed in, with original disks and proof of licence. Anything you want to work on the new network will have to come from those hand-ins AND be subject to testing". Every year, approximately 80% of the school's software estate disappears into the bin never to be seen again - either nobody cares about it after the salesman left the building, or it just plain doesn't work, or it's no longer any use compared to other resources.
But, fuck, "Windows programs just work anywhere"? No. Not even if you have a lot of funds and time to spend getting just one of them to work. I can assure you.
By comparison, Linux software may break briefly and then get diagnosed and pulled back in. But you can pretty much run a 20 year old copy of the primary shell with no problem, if that's what you want to do. You may have to pull in old version of the libc, etc. but it'll work on the modern kernels. There's not much on Linux that's EVER been broken, certainly nothing that a bit of tweaking won't fix.
And yet I can show you a software graveyard in my office of Windows stuff that breaks EVERY year. Fuck, some of the companies STILL SELL IT even though they know it doesn't work on anything past Vista or 7. They don't give a shit and no longer have the programmer on staff to do anything about it.