Your problem may be that you haven't specified an owner for the dialog:
Owned windows typically don’t need their own representation on the Windows taskbar because they are subordinate to their owners. Because activating an owned window implicitly activates the owner and vice versa, it would merely clutter up the taskbar to have entries for both. So owned forms normally have their ShowInTaskBar properties set to false.
The following code fragments (in VB and C#) show a new form being created, owned, and displayed:
// defining an owner form in C#
MyForm ownedForm = new MyForm();
ownedForm.ShowInTaskbar = false;
AddOwnedForm(ownedForm);
ownedForm.Show();
In your case, it would appear that you need to set the owner window for the dialog. That would prevent the window that is presenting the dialog from appearing over it.
EDIT Should have cited my source: .NET Windows Forms in a Nutshell. Also, I omitted the VB.NET code. I have appropriately flogged myself, but don't feel like wading through the PDF file to track it down.