Zum Problem mit dem Verschwinden des Fensters kann ich leider nicht viel sagen. Habe dieses Verhalten selbst ein paar Mal beobachtet. Wenn man ein allerdings konkretes ParentWindow spezifiziert, kann man das Problem umgehen.
Ich setze ja ein ParentWindow:
dlg.Execute(Handle);
. Das Problem ist übrigens unter Windows 7 genauso da. Und zwar bei
jedem Lauf meiner Testanwendung. Ich vermute mal, dass das ein Problem von IProgressDialog ist, nicht von deinem Wrapper.