Long time since I looked at VB but can't you set the dialog as modal with something like:
dlg.ShowModal(true);
(sorry: can't remember the exact syntax but should be close).
where
true
denotes that the dialog belongs to (is the child of) the calling form?
You shouldn't need to use the Win API to make a dialog the child of the calling form.