Why Validation Controls Don't Work ?
Found on http://www.myonlyblog.com/2007/07/modalpopup-validation-controls-dont.html:
"The solution, it turned out is REAL simple, don't use either the OkControlID or OnOkScript. Basically you don't need the OkControlID or OnOkScript to be set unless you plan on doing some processing on the client side, this was why I was not firing the validation controls, I was posting back first because I had both of these set."
Keep the ModalPopupExtender open when something wrong in Server processing
For example, you lets user to enter a data entry form in a ModalPopupExtender (something like Matt Berseth 's work at http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html), and you want to notify user if something wrong and data couldn't be saved properly and keep the ModalPopupExtender open, just all ModalPopupExtender.Show() in catch block of your try...catch statement.
Anyway, if you like http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html, you must read his bug fix http://mattberseth.com/blog/2008/05/bug_bashbuttoncausesvalidation.html too !