You can use the delay-load feature of Microsoft. Here is an article about
Delay Loading a DLL.
And you wont change that behavoir of Windows, but you can move the dll in another or sub directory to avoid the pre-loading. This needs than really some dll loading.
But what is the
real problem with your dll. May some implementation in your dll is weired.