I just did some testing using my Audigy Gamer under XP Home Edition with patch 2.0 installed. I replaced MSVCP60.dll with a much newer version copied from LOMAC's folder, then I renamed MSVCRT.dll to "MSVCRT.orig", which forces the game to load the newer version that comes with Windows XP (now that I've tested it, I'll delete the ".orig" backup). My XP Home Edition is fully updated, and I'm running DirectX 9.0b.
I then played a couple of very LONG gunnery missions. Had full gun sounds all the way, without having to mess around with A3D.
Often, you can fix XP compatibility issues by dropping in newer versions of various .dll files. You can find all copies of a given .dll on your hard drive by searching the file name. Check the dates, and after backing up the original, copy a newer version from another game into your game folder. But be aware, some .dll's are very game specific, or modified to function with a certain game. Just because the name is the same doesn't mean it will do you any good, so always backup. In general, only the Microsoft .dll's will do you any good (look for those beginning with "MS"). But I just got "Ducati World Racing Challenge" to run right under XP for the first time by replacing MSS32.dll with a newer version copied from "Medal of Honor: Allied Assault".
Anyway, proceed with caution and always backup first. Hope this helps someone.
From my post over at bombs away. Worked for me, but once again, backup first!
Cheers!
Rick...