Hola:
Marcos, en este momento tienes el 666 de nº de posts, así que no sé si decirte nada
La opción de usar el componente ApplicationEvents me parece la mejor (si no la única) para interceptar Excepciones donde no es posible utilizar un bloque
Try ... except. La única pega que le veo es que sólo nos puede servir para lanzar mensajes de advertencia al usuario, y poco más; quiero decir que difícilmente en este evento podemos tomar medidas respecto a un Control concreto, pues estos pueden ser varios / muchos desperdigados por los distintos forms, y no es cuestión que ese componente sepa cómo actuar en dichos controles.
Si necesitas actuar sobre el Control que lanzó la excepción, por ejemplo para devolverle el Foco, ahí es mejor la opción del evento OnExit (qué lástima que el TMaskEdit no tenga un evento OnMaskError, al estilo de los TDatasets ...).
Un saludo