Ho risolto.

Il problema dipendeva dal fatto che alla mia DialogBox() non passavo nessun HANDLE.
Passandogli il parametro HINSTANCE (quello del main della DLL per intenderci), il dialogo viene mostrato correttamente.