If your calling object is still active on restart of the app, it means that a) The object is still waiting for some sort of response from the DLL or b) The DLL is waiting for a response from the object.
Does the DLL have to be de-inited in some special way.
Is it compatible with VFP7.
Write a separate prg and see if it works by itself.
Hope this helps.
Regards N Mc Donald