Y por que no usas el evento
OnCloseQuery del formualrio y haces esto:
Código Delphi
[-]procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False; ShowMessage('No puede cerrar la ventana');
end;
Aunque

lo mejor es pregusntarle al usuario haciendo esto en el mismo evento:
Código Delphi
[-]procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageBox(Handle,'Esta usted seguro de cerrar?','Cerrando...',MB_YESNO)=mrNo then
CanClose:=False;
end;
.
Saludos...

__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7