I understand what you mean now; DirectX feature level support. Write for DX11, and use different code paths. Perfect!
But to support XP, you'd have to have a DX11 and DX9 version though. Feature level support is only present on DX11.
In this case, I suggest dropping off the DX9 version, since all new consumers PCs are Windows 7, and old ones will find... ways.
As for the source code...
Their engine relies on old SDKs and is recycled to create average-looking games. Not terrible, but is grossly outdated.
As aforementioned; compilers didn't adhere to standards well back then: ugly, ugly hacks we don't like are a given.
What I find most objectionable to working with this monolithic codebase is, it will be a maintenance nightmare.
Their project configurations are vague - output directories may be in cworking, sworking, project or Obj directory...
Is that Mss32.lib from the SDK floating around on certain torrent sites?