Primero te recomendaria separar el codigo del hilo del form y teoricamente, con terminate y un comprobacion de la propiedad terminated del hilo para salir del bucle principal del hilo.
En la ayuda de delphi pone el siguiente codigo
Código Delphi
[-]
procedure TMyThread.Execute;
begin
while not Terminated do
PerformSomeTask;
end;
yo lo extenderia asi
Código Delphi
[-]
procedure TMyThread.Execute;
begin
try
while not Terminated do
begin
end;
finally
end;
end;