man you are one lucky bastard.
if i hadnt got anything to do at my job today.. i wouldnt be looking through google for you if you could have done it yourself.
1. copy the 9.0c directx installer folder from the BF2 disk onto the hard drive;
2. copy the 9.0 directx installer folder from my other game onto the hard drive;
3. copy all the files from the 9.0 directx folder that didnt end in ".cab" into the 9.0c folder, overwritting as I go (this was pretty much the setup proggie and some dlls);
ignore the BF2 stuff.. you just need to download dx9.0b and dx9.0c and have them ready in 2 separate folders...
try to copy the files mentioned in the procedure above from 9.0b to 9.0c (overwrite) and then install from the 9.0c.
im not sure if it is the same as i did about a year ago to make 9.0c being recognized properly. but its worth a try.
is the error about missing 9.0c only with NFS most wanted or also with other games that REQUIRE 9.0c?
btw: i wouldnt use any of those dx-removers as mentioned on many boards.. ive read stories about removing dx can cause severe problems.. i would never try to remove dx personally.
good luck.
-------------------------------------------
edit:
I HAVE A SOLUTION!!!!
Well it worked for me anyway.
You need both the 9.0b and 9.0c full versions. both around 30Mb each. Unzip both to respective temp folders. then copy and paste the following from 9.0b to 9.0c:
dxsetup
dsetup32.dll
DSETUP.dll
now simply run the dx installation from the 9.0c folder.
okay that should be clearer... i think thats what i did.
enjoy.