ok,
it took me over 5 hours
In the end i found that a stupid
soFromBeginning should be changed in
soBeginning.
This appears to be trivial, but caused HFS to actually corrupt any file that was resumed from 2GB+.
That is, a 4GB file was not corrupted if the resume was made at 1GB, but corrupted if it was made at 3GB.
This is true for any version of HFS till now.
I fixed it in the next build, and will try to publish a new stable as soon as possible, like a week.