Habe jetzt nicht alles verfolgt aber ich kann nirgends sehen das du die Stream Position auf 0 setzt.
Bevor du das nächste Picture lädst.
Delphi-Quellcode:
procedure Read(pic: TPicture);
begin
Stream.Position := 0
pic.LoadFromStream(Stream);
end;
Delphi nicht Code Tags wäre angenehmer zu lesen.
gruss