When you run DOS programs on 32-bit XP/Vista it uses a highly imperfect DOS emulator built into Windows, NTVDM
. Additionally, even 16-bit Windows programs use a sort of 16-bit Windows emulator, Windows-on-Windows
or WoW that gets called when the user starts a 16-bit Windows program, often requiring NTVDM, as well. NTVDM and WoW have been dropped from 64-bit Windows as 16-bit code will run on 64-bit Windows. They also need WoW64
to run 32-bit code.
All of this means that you will need an emulator like DOSBox or a virtualizer such as Virtual PC to run these programs on 64-bit Windows. The good news is that DOSBox runs perfectly on 64-bit Windows, as it is just a 32-bit program. For 16-bit Windows only games you can install Windows 3x in DOSBox, so 16-bit games can mostly be handled by DOSBox and a copy of Windows 3x.
The real problems are the 32-bit 9x games that refuse to run on modern Windows. Except for the 32-bit games that shipped with 16-bit installers (which might run on Win64, but cannot be installed) the problems are nearly the same between Win32 and Win64. Even the 16-bit installer problem can be worked around.
If the Win9x game will not run on modern Windows, 32 or 64, your options are more limited. While it is possible to install Windows 95 in DOSBox, it is unsupported and you will be hamstrung by the need to boot from an image, which causes DOSBox to loose access to physical drives. If you need a CD for your game you will need to mount an image of it in Windows 95. Some virtualizers are easier to use that it is to setup 95 in DOSBox, but forget about games requiring DirectX. Virtual PC 2007 no longer supports Windows 95, so if you want to run 95, you will need to use an older version of Virtual PC. But this is another topic.
Don't let any 16-bit favorites stop you from moving to 64-bit Windows. I have found Win64 to be significantly more stable and much less of a resource hog than its 32-bit brethren. It is newer code with a smaller memory foot print and carries far less legacy baggage than Win32. Be warned, though, you will need to get new peripherals (printers, scanners, etc.) if any of them are not new enough to have 64-bit drivers. As a closing note, don't forget that you can also setup a dual boot with two different versions of Windows, if you really need backwards compatibility.