I'm not sure if this only happens on Windows 7 or not, but I encountered such message when trying to start a game after rebuilding my machine using Windows 7 64 bit. Actually, I encountered it pretty much on any game I tried to start that uses DirectX 3D. Looking around the web only gave me bits and pieces of clues that didn't quite go anywhere.
Some said to copy the offending DLL into %SystemRoot%\System32 directory, which didn't work. Some others suggested reinstalling DirectX 9.0c, which I also tried but didn't work either; however, this is one step toward the right solution, just not the whole solution. I tried reinstalling DirectX multiple times using the DirectX End-User Runtime Web Installer and Redistributable ones. All ended up in error. The installer suggested that I looked into the log files in the Windows directory called DirectX.log and DXError.log. It turned out to be an access denied error somewhere along the way during the installation which I found in the DXError.log file. I then tried to use elevated privilege (Run as Administrator) to run the installer again, but that also didn't work and ended up with the same error. *scratch head*.
Running out of idea of what to do, I went back to the web to try and find out what could be causing this error. After lots of time browsing and searching around the web I ended up in a forum post which suggested that I turned off the real time protection of the Forefront client (the antivirus software that I was using) before retrying the DirectX installation again. I tried that and WOOT... that fixed the problem. DirectX successfully installed and when I tried to run the games that didn't work before, it runs like cutting butter with a hot knife :) (or something like that)
So, moral of the story... if anything else fail, check your antivirus :). I ran into similar problems on other software (not game related). For example, when trying to use port 6666 as K2 Blackpearl Server port, I was blocked by McAfee because it was assuming that was an IRC port that is dangerous to expose in a corporate environment. A different time, my mail won't go through the SMTP server because...again... it was blocked by the antivirus.
I supposed this is one thing that can be added to List of Dumb Things to Check.
Hope this post helped somebody out there that is banging their head because of lack of answer to similar question.