I'm having the same issue here. Here's the problem:

Open a form using the .ShowDialog method
During initialization I do some Try/Catch processing when handling data connections. In the event of an exception, I want to show the error and immediately close the form like this:
Code:
Try
    ' Do some risky stuff here
Catch
    ' Show error message
    MyBase.Close()
End Try
Unfortunately the Close() call does absolutely nothing...

The intent is not to bail completely out of the app, just terminate the offending form.

fwiw, the MyBase.Close() fails outside of a Try/Catch as well... that's not the problem.