DVD-R Block size, rounding, and TOC

I have a Pioneer DVR-105 and a Benq DW1640.

When I burn ISO images on the Benq that are a multiple of 2kB in length, but NOT a multiple of 32kB in length, the resulting track and TOC contents are rounded up to the next multiple of 32kB. So, for example, if I md5 the ISO image and md5 the disc track to compare, they will not match because of the length mismatch, unless I manually specify the exact length to read off the disc. I’ve tried (Linux) cdrecord-prodvd, growisofs, NeroLinux, and (Windows) Nero 6. NeroLinux seems to round up and write a block or two extra for no good reason.

I don’t remember ever seeing this on my Pioneer 105 drive. I read a bunch of old DVDs burned on that drive, and all of them appear to be a multiple of 32kB on disc. I have not yet gone back and tested that drive extensively in a controlled way.

I know the native block size of DVD-R is 32kB and it makes sense that the hardware is going to require rounding up to write an even number of 32kB blocks. But the capacity and TOC seen by software is as far as I can tell in multiples of 2k blocks. Is DVD-R capable of representing disc capacity/track length in terms of 2kB blocks, or only 32kB blocks? That is, is there a way I can burn an image that is a multiple of 2kB but not a multiple of 32kB, and have it take up the rounded amount on disc physically, but make its logical size match the image size? Or is it always rounded up to the next 32kB multiple?