Hola,
El evento "OnCloseQuery" podría resultar aquí más conveniente que "OnClose", de manera que podría escribirse algo así:
Código Delphi
[-]
procedure TForm1.FormCloseQuery( Sender : TObject; var CanClose : Boolean );
begin
CanClose := ( Memo1.Text = '' ) or ( Application.MessageBox
(
'Si cierras sin guardar, se perderán los datos en el editor de textos'
+ #10#10 + '¿Está seguro de querer salir sin guardar?',
'Atención',
MB_OKCANCEL + MB_ICONINFORMATION
) = IDOK );
end;