Close all windows (since XP) implementation is kind of hacky. In your FormClosing implementation check if the form is disabled because a TaskDialog or any other prompt is shown with the form being the owner of the prompt.
While you're at it check how your closing scheme performs upon WM_QUERYENDSESSION i.e. user logs off with changes pending.
wqw
2010-04-14 16:34:51