Finally, an answer on ye olde d3dx9_34.dll thing...
...oh god, this took me a while...
It's important to note that I'm using Vista Home Premium edition. I downloaded the DirectX 9c package (November_2007), and excitedly waited so that I could play Call of Duty 4. Needless to say, I ran into the same issue.
Here's what to do...
When it asks for an install location, choose a "temp" folder on C:\ .
Then, when it's finished installing to this "temp" location, go in and find the 'd3dx9_34.cab' file.
Double click, and open. Inside you'll find the d3dx9_34.dll file. Right click on the file and choose extract. A dialogue box will then ask you where you would like to extract it.
Navigate to C:\Windows\System32\en-US\ and extract away!
You don't even have to restart Vista. Just refresh the folder.
Hope this helps...by the way....this game freakin' rulz!