Ok, how about you try debugging and some error checking api.
Right after the dialog box param call, put the following:
int x = GetLastError();
x will contain the error code. Now since you probably dont know how to debug a DLL, wsprintf() the code with "%i" into a string and messagebox it. Once you have the error code, post it here or consult your Win32 API manual.
There can be many reasons for the dialog not showing, sometimes if you have common controls (which you may) then you have to initialize common control sex