...
procedure TForm1.btnComenzarClick(Sender: TObject);
begin
repeat
Memo1.Clear;
BorraBuffer;
EnviaDatos();
RecibeDatos;
Application.ProcessMessages;
until btnTerminar.Tag = -1;
btnTerminar.Tag := 0;
end;
procedure TForm1.btnTerminarClick(Sender: TObject);
begin
btnTerminar.Tag:= -1;
end;
...