Um die Frage selbst zu beantworten... Es genügt z.B. folgender Code:
Delphi-Quellcode:
FHandle := CreateDialogParam(hInstance, MAKEINTRESOURCE(AResource), 0, MakeObjectInstance(NonVclDialogProc), 0);
// AResource ist die Nummer der Dialogressource
MakeObjectInstance ist hier das Entscheidende. Diese Funktion sorgt dafür dass die Methode im Kontext des korrekten Objekts ausgeführt wird. Dafür wird die Instanz gespeichert und in der StdWndProc ausgelesen.