I know this looks wrong, but it's there for a reason, and it matches the behavior of the other interpolations. In my tests, the center of a bitmap pixel is at an integral value, meaning that the pixel at (0,0) is a rectangle extending from (-0.5, -0.5) to (0.5, 0.5), and if you enlarge an image you do get out-of-bounds bits on the lower right.
I'm pretty sure I also tested GdipDrawImageRect separately and got the same result.