The normal reason why Windows does not load a DLL is an unresolved dependency. Your DLL needs some other DLL that is not provided on your system. Maybe a certain DirectX version or something like that.

There is a free tool named "Dependency Walker" that you can use for fixing those problems.