Most games work fine on Windows 7. Installers and patchers make them difficult to impossible to install or patch, however. Some games may need some paths adjusted, as well, since the Vista change in folder permissions.
As a non-GoG example, I had to install Mechwarrior 3 on a XP box, patch it, then copy it and its relevant registry keys over to my desktop for it to work. The game itself is perfectly compatible. The issue with installers is that the ancient code wasn't broken, wasn't written in a nice portable language, and would still run in new versions of Windows. So, why change it?
Some games can be fixed by replacing DirectX DLLs. Throwing in a special or updated version of d3dx[_xx].dll, FI, can fix some games. Most loaded DLLs are first looked for in the application path, before system32 and such.
Really ancient games, OTOH, that really run in DOS, do get put in a customized DOSbox launcher.
Don't know. Obviously, the higher quality video must have existed and been ready to go, though.
Custom patching. Some old games have gotten community patches that actually re-assemble the exe for 64-bit compatibility. System Shock 2 requires this, but I never could get it working (not on GoG).
Most games since the mid/late 90s have been 64-bit compatible. 64-bit removes legacy addressing instructions that nobody in their right mind used, once they could reliably use protected mode with a big flat memory space. A handful of game devs were not in their right minds, but most of the problems are either fixable by means of updated DLLs, wrapper DLLs, minor config changes, or making new installers--the game EXEs were fine, in and of themselves.
For size/bandwidth, I guess. What games would these be?