with each new directx sdk (which gets released every few months) comes a new d3dx9_xx.dll.

d3dx9_30.dll (april 2006 sdk)
d3dx9_31.dll
d3dx9_32.dll
...

so it can happen that the directx installation of the user is too old to contain the dll.