Pues muy sencillo, podrias guardar una flag booleana que el boton la pase a True cuando hacen click
Código Delphi
[-]
type
TForm1 = class(TForm)
private
FPuedeCerrar: Boolean;
protected
property PuedeCerrar: Boolean read FPuedeCerrar write FPuedeCerrar;
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
PuedeCerrar := False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PuedeCerrar := True;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := PuedeCerrar;
end;