Das Problem liegt mit hoher Wahrscheinlichkeit also nicht in dem Code-Abschnitt, den du hier zeigst
Dies. Meine Vermutung wäre dass deine Threads auf einer Maschine früh abstürzen. Dann ist halt Ende. In einem Thread bekommst du ohne weiteres keine Messageboxen mit rotem X und alles läuft weiter. Das ist nur im Hauptthread so.
Beleg von deinen Threads doch mal das OnTerminate-Event mit z.B. einem Schreiben in ein Memo oder einer Messagebox. Dann siehst du das schnell.