Oder einfach das CT.Free; im TForm1.TerminateEvent rausnehmen und ins FormDestroy verschieben.
Ggf. btnCancelClick noch ergänzen zu:
Delphi-Quellcode:
procedure TForm1.btnCancelClick(Sender: TObject);
begin
if Assigned(CT) and CT.Started then
CT.Cancel := true;
CT.Free;
CT := nil;
end;