When displaying a MessageDlg and a second MessageDlg is displayed before the first is dismissed, the first MessageDlg is stuck on the screen and cannot be dismissed.
I had that problem. I had to add code to make sure that only one was displayed at a time.