Mir ist gerade aufgefallen, dass die Indys auch eine
ZLib-Implementation haben...

Wieso ist mir das nicht aufgefallen?Mit dem neuen Wissen ausgerüstet:
Delphi-Quellcode:
uses ..., IdZlibEx;
{...}
function GZipStreamToString(const input: TStream): string;
var temp: TMemorystream;
begin
input.Seek(0, soFromBeginning);
temp:= TMemorystream.Create;
ZDecompressStream(input, temp);
SetLength(result, temp.Size);
temp.Read(@result[1], temp.Size);
end;
Ist wieder untested.