Eso es lo que te preguntaba. Entonces lo mejor es que pongas la validación en el evento
OnCloseQuery del Formulario:
Código Delphi
[-]canClose:=False;
if Application.MessageBox('¿Seguro que desea abandonar?','Atención',mb_OkCancel +
mb_IconQuestion)= idOk then
begin
canClose:=True;
Aqui en vez de la pregunta iría tu validación, si es correcta pones CanClose a True en caso contrario el formulario no se cerrará.
Espero que sea eso lo que pides.
Un Saludo.