Noch irgendwelche Anregungen bzgl. Speicherfragmentierung
Deine bisherige Vorgehensweise ist fehlerhaft (Siehe Beitrag #4).
Unter gewissen Umständen greift dein Thread auf ungültigen Speicher zu.
Ob dein Code funktioniert hängt mehr oder weniger vom Zufall ab.
In folgendem Demo
http://www.delphipraxis.net/168253-s...e-threads.html
kannst du Dir anschauen, wie man einen AnsiString (oder beliebige Daten) einem Thread zur Verarbeitung übergeben kann.