Wenn ja, wie löst man dieses verhalten auf?
Kopiere die entsprechenden Daten in einen temporären TMemoryStream, der nur diese Daten enthält. Den kannst du dann an LoadFromStream übergeben.
Ich habe einen ähnlichen Fall aber anders gelöst:
Ich habe mir eine eigene TStream Klasse abgeleitet, die einen TStream als Adapter enthält und selbst die Größe der einzelnen Daten mit in den Stream schreibt. Beim Auslesen wiederum spiegelt der Stream jeweils eine Größe vor, die nur bis zum Ende der aktuellen Daten reicht. Aber das ist für dich jetzt vermutlich wie mit den Kanonen und Spatzen und so.