I'm afraid my best advice here is compensating the problem by painting an extra black row in your image. As you can imagine, the extra pixels that you see are drawn intentionally.

The rasterization process of graphics hardware requires pixels to be hit in the center. Otherwise, the 2D image becomes utterly distorted and you'll complain.

But when you think about the consequences of rendering from the center of the first to the center of the last pixel of a 16 pixel image, you will notice that the render length is 15 and not 16 pixels. Your image is too small and you'll complain again.

Thus, 3D engines usually render an extra pixel, getting the right image size without distortion. This is the best compromise. Our reward is that no one has complained so far. At least until now.

Hope this explains the problem.