aber
TerminateThread(FWorker.ThreadID,iThreadExitCode) = false
Weil du immer noch die Thread ID benutzt statt des Handles.
Generell stimmt ich aber zu: Priorität sollte haben, zu verhindern, dass der Thread hängt. Warum er das tut, kann natürlich keiner sagen außer dir selbst.
Grüße
Dalai