Sobald mehrere Client's Daten an den Server senden und er diese in einer Liste verwaltet, musst du sicherstellen, dass nicht 2 Threads gleichzeitig in eine Liste / ein Memo schreiben können. Andersfalls kann es jeder Zeit zu Fehlern kommen.
Dies ist z.B. mit CriticalSections möglich.
Schau dir mal die Klasse TThreadList aus der Classes-
Unit an. Diese Kapselt die Klasse TList. Hier wird durch "LockList" und "UnlockList" die CriticalSection erzeugt/geschlossen.
Leider sind die wenigsten Delphi-Klassen Threadsicher.
Selbst IntToStr oder DateTimeToStr schreibt Intern die Werte in eine globale Variable. Dies kann auch zu Fehlern führen, wenn 2 Threads gleichzeitig diese Funktionen nutzen.