This particular engine (which is also used in System Shock 2) is known to have several issues on modern systems, but there are ways to fix all of them. At least for SS2, you have to use a no CD patch, a core affinity patch, compatibility mode and a few changes in one of the config files to get everything working properly. The first two Thief games should be similar. See if you can find anything on the TTLG forums about it.
Do you seriously expect games that were released ten years ago to work flawlessly?
Absolutely. Most such games will in fact work without any issues.
However, in the cases where problems comes up, it's usually not Microsoft that is to blame but the GPU companies. Legacy compatibility can vary quite a bit between Nvidia and ATI cards as well as specific driver versions.
If you ask me, legacy support should be dropped where possible and virtualization used for legacy applications instead.
That would be great if there were actually decent virtualization or emulation programs specifically for Windows games. Virtual PC doesn't support 3D acceleration at all and has dodgy compatibility and performance even in non-3D games.