I suspect that the issue is that the image shown in the browser is a reduced version of the actual, larger image. Web browsers are notoriously bad at reducing the images, and things like thin vertical and horizontal lines are often lost in the process. You didn't include the portion of code where the image is actually displayed, so I can't tell for sure, but I know that was an issue in early versions of problems I was writing.
Many problems include small versions of the graphs that are produced this way, and that link to the larger version; but I've never found that an effective approach. The small versions are pretty useless, and you pretty much have to link to the larger one in order to see anything. So why not just provide the larger version automatically?
The unionImage.pl file includes an Image() macro that makes it easier to generate larger, single, unlinked images. If you really a small version and a large one, I recommend creating two images explicitly, one large and one small, rather than letting the browser do it, since browsers are so bad at it. There is support in the Image() macro for having one image link to another. (See the comments in the file.)