Danke für deine Antwort, ich habe das gerade so geändert wie du geschrieben hast.
Leider verändert sich nichts an meinem Problem, kann es sein, dass die Daten zu klein sind, sodass der Buffer sich füllt?
Ich erwarte immerhin nur 13 Bytes pro Paket.
Für Pakete bekannter Länge bietet TIdTCPClient auch eine Methode, mit der ein Byte Array fester Länge eingelesen wird
procedure ReadBytes(var VBuffer: TIdBytes; AByteCount: Integer; AAppend: Boolean = True);
d.h.:
IdTCPClient1.Socket.ReadBytes(MyBytesArray, 13, False);