OK, you are right. Turns out SUBST will not work if there already is a CD drive mounted at that letter.
Thanks to you, I figured out a better solution. The paths to the CD drive are hardcoded at installation time inside GAMEDATA\CONFIG\PATHS.DAT. Open it and you will find several references to E:\somepath\subpath, where E: is the CD drive you installed from.
You can change them to any other letter that is not occupied, and then SUBST will work. However, you can simply change all instances of E:\ to .\\ (note the double backslash - this is to keep the file size the same and prevent any offsets from moving). This will tell the game to look for the files directly under the current directory, and you don't need to use any SUBST/FAKECD at all.
Write-up has been updated. 😀
https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys