OK, this has apparently changed in kernel 2.4; in kernel 2.2 block size alignment is enough. That's unfortunate, but I guess it was necessary to support large files or memory sizes. Then yes, in 2.4 your patch will be more useful.
As far as I know, it's the case on most Unices, though it maybe not be so on older versions of Linux. It's part of the definition of mmap() too, I think.
David