Logisch, Close beendet das Programm !
Ausserdem solltest Du vielleicht MessageDlg o.ä. benutzen.
Das unbeabsichtigte beenden könntest Du aber auch so verhindern
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:= (MessageDlg('Programm beenden', mtWarning, [mbYes, mbNo], 0) = mrYes);
end;