1) Is DX-7 really involved, or is that a typo of DX-9? (I thought SC4 used DX-9)
My understanding is that the code was designed for DX 7, but remained fully compatible up to DX 9, which if I'm not mistaken is included the released CDs. Using DX 9.0c natively, i.e. not as a legacy mode of a later DX version, is not possible in versions of Windows higher than Vista. If you have a later version of DirectX, then theree is the potential for compatibility issues, but the problems are far more likely to come from the GPU side. Because even with a later version of DirectX, it retains compatibility for legacy DX versions. Literally, you can use DX 9 or earlier with a later version of DirectX installed, but your GPU needs to support the legacy API modes a particular app requires.
As the years have gone by, technology has inevitably changed, such that more and more users have trouble using legacy DirectX games. From what I understand, this modified version of DDraw, an API of DirectX, simply gives more modern hardware better legacy support through some sort of emulation layer. I don't personally own GPUs new enough or that suffer from these issues. But if you are on Windows 10 with a modern mid-high end GPU, it does appear using this 'hack' can dramatically improve performance. Although it doesn't allow SC4 to fully utilise the hardware, it just means if compatibility issues were causing poor performance, the method has the potential to resolve the problem. So this is not only useful for those with higher-resolution displays, it has more utility.
Another thing if you're on Windows 8/10 and have suffered from the "Double Click using Multi-Stage MMPs" problem, using DInput from the same package, resolves this problem and now such MMPs work as intended again. I'm re-posing from ST, but you just need to edit the property as follows in dxwrapper.ini:
Dinputto8 = 0
to
Dinputto8 = 1
This switches on the included DInput from DX 8. In this case I'm not sure if that's a modified API or if it just allows us to run DInput 8 natively. But this does point the finger of blame squarely at DirectX 12 as the source of the issue. Since Windows 7 users, who can only use DirectX 11, never had the problem.
This is such a great find and potentially could provide even more gifts in future.