du müsstest dir möglichst noch im Stream die Länge des Arrays speichern, zumindest wenn du mal vor hast die mehr also nur ein Array of Byte zu verwenden.
Wenn es bei dem Array of Byte bleiben soll dann so:
Delphi-Quellcode:
//schreiben
Stream.Write(YourArray[0], Length(YourArray) * SizeOf(Byte));
//lesen
SetLength(YourArray, Stream.Size);
Stream.Read(YourArray[0], Length(YourArray) * SizeOf(Byte));