When you have this kind of problem, your first thing should be to pass everything to hex:
2170016226=0x8157D1E2
2170020867=0x8157E403
Not a great difference there, this is normal, but on the uncompressed side:
20240557909=0x4B66E6755
3060688725=0xB66E6755
Mmmm, something phisy here, it seems gzip is using 32 bits only, so it gets the things wrong. You can investigate more from there. If you can spare the disk space ( which seems to since you had it for the split/zip ) you should try to gunzip it, and see how big it comes out ( I would recommenf 'gzip -tv once to see what it does print, and then gunzip -cv > xxx to preserve the input AND get verbose output ). The problem seems to be with gzip.