Ok now it get's even funnier.
My .exe that runs on DirectX June 2010 uses d3dx9_43.dll -> D3DXCreateEffectFromFile ERROR
My .exe that runs on DirectX August 2007 uses d3dx9_35.dll -> D3DXCreateEffectFromFile OK
So now the funny part:
I copy d3dx9_35.dll and rename it to d3dx9_43.dll, et voila, it works.
Definitely bug in DirectX SDK's