Is there a case where MessageBox can return 0 other than not enough memory? I have a case where I suspect the HWND I'm passing to MessageBox isn't valid or maybe it belongs to a window that is in the process of being destroyed.
In my case the MessageBox isn't displayed and returns 0, but I seem to have enough memory available.