I don't know why ImgBurn behaves in such strange way, because there is no problem with Nero Express I have.
It's also strange because it always cut exactly 4096 bytes, no matter what's the size of the original ISO file.
I tried to use wnaspi32.dll interface (from Nero) instead of the default one, but ImgBurn doesn't work properly with it either. Like it's some internal error in ImgBurn, and not in the interface.