Hi,
I have tried compatibility mode and downloading all the DirectX versions as suggested below but still the same.
Note that these games can run when connected to the onboard graphics but not when connected via my recent graphics card. And it only seems to apply to old games (i.e. pre-DirectX 10).
I wonder if Windows is not able to send these DX calls to the PCI-E graphics card? Is there a way to check?