I actually now think I know what it is/was. I suspect (haven't looked in total detail) that the current code ends up making some kind of m17n related conversion (not StandardFileStream) when saving the map so that the .gz file actually isn't recognized as a gz file (wrong magic bytes in the header) and thus isn't decompressed - so the actual imagesegment loading then of course fails badly.
could be that since I always get a parsing error kind of...:)
Anyway, I just converted that code back to using StandardFileStream explicitly both on save and load and I now think the code does the exact same "good ole" thing in all versions 3.5-3.9. We will see.
I intend to very soon (this weekend hopefully) deploy this code to both the server and to update the map entry for SqueakMap and bumping the protocol version forcing all clients to upgrade.
regards, Göran