Wenn Du von
zlib redest, meinst Du die
Unit zlib, die von Borland oder wem auch immer als
Unit für die
zlib-Bibliothek angepriesen wird?
Die richtige
zlib-Bibliothek verwendet nämlich
keinen 16-Bit-Prüfprefix sondern eine 32-Bit-Adler-Checksumme am Ende. Wenn Du in die richtigen
zlib-Routine einen
zlib-Stream (wie in Punkt 2.2 der
zlib-Spezifikation beschrieben) reinfütterst, solltest Du damit keine Probleme mehr haben.
Wenn Du diesen Weg gehen willst, sollte ein Suche einige Delphi-Units finden.