Egentlich ist es gut das es bei dir gerade noch noicht funktioniert.
Eine Listbox ist ein
GUI Element, und
GUI Elemente dienen neben direkten Nutzereingaben besser NUR der Anzeige von Informationen.(im Klartext: man mißbraucht
GUI-Elemente nicht als Datenspeicher)
Also unterlasse es deine Socketdaten direkt in die Listbox einzufügen! (Sockets haben meist auch was mit Threads zu tun und da funktioniert dein Code dann so eh nicht mehr)
Mache dir Gedanken was du zusätzlich zu deinen Empfangsdaten alles für Informationen für deine Programmlogik brauchst.
So erstellst du einen Datenelement-Record oder eine Datenelement-Klasse. Per TLIST<DatenelementRecord> würde im Einfachsten Fall daraus eine Liste wo es dann z.B. ein "Add" schon gäbe und du mit [Index] oder "for in" durchgehen durchgehen kannst.
Der Rest (z.B. dein Timing) ist Programmlogik, erst dann kommt das Darstellen in einer
GUI Listbox oder das Abspeichern in eine z.B. Datenbank.