Luckie hat dir doch schon einen Fehler genannt. Wenn du bereits wieder etwas freigegeben hast
FreeAndNil(Stream);, dann kannst du es danach doch nicht mehr speichern
JPG.SaveToStream(Stream);. Also vertausche doch als erstes diese beiden Zeilen so das es danach in etwa so aussehen sollte:
Delphi-Quellcode:
JPG.SaveToStream(Stream);
FreeAndNil(Stream);