If you install the application compatibility toolkit you can go look. It's
main trick in OS compat is to lie about the Windows version numbers, but it
does do other things. But it can do lots of things. Fixes for just one
program aren't documented. But fixes for general use there are zillions. But
you have to know why your program doesn't work.
I think MS expected software manufacturers to write appcompat files for
their application (by ticking a list of a few hundred checkboxes - takes 10
minutes) without costing more than a days work (thus fixing lots and lots of
software very, very cheaply). But they all seemed to be more attracted to
the upgrade revenue stream rather than fixing their programs (and most app
compat shims are to fix faulty software - the old software was faulty but
didn't actually seem to cause problems so noone cared).
There are programming rules. Even if the current OS doesn't support the
rules (except if you obey it is happy) they are part of MS's long term plan.
If your program follow the rules, barring unforseen structural changes to
the OS, it will run on the next version of Windows. And most likely the one
after that too.
Before Windows 95 was released (it had compatability too) MS made a horrid
discovery. Most programmers checked the version wrong. It would still say
3.1 passed but would fail on 95. So 95 got a new version number to overcome
a common logic error that seemed to work.