Eso del BSi.tag está un poco feito
Lo normal es que a tu botón Aceptar le pongas su propiedad ModalResult en mrOk, para que automáticamente, al momento de oprimir el botón, se asigne mrOk al formulario. Y éso es lo que usas en CloseQuery para determinar si se oprimió Aceptar:
Código Delphi
[-]
procedure TFAvierteBorraCirculante.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if MOdalResult = mrOk then
begin
if ECantidad.Text<>''then
begin
CanClose:=True;
FCantidad := StrToInt(ECantidad.Text);
end
else
begin
showmessage('Ingrese la cantidad de envases');
CanClose:=False;
end;
end;
end;
y ya no usas el evento OnClick del botón.
// Saludos