Yes, that should certainly fix the bug, although I might have cast the double returned from round() to int on hygienic principles. I got the first patchset posted [patches:#792], so you can see where I'm going with this and why I ditched floating point altogether. Of course these rendering improvements can be implemented with doubles and fmod(), and indeed that's how I initially did it, but that way turns out fairly ugly with fuzz factors, so I scrapped it and started over with Bresenham's algorithm....
Enhanced line-drawing in dumb.trm
Incorrect rounding in dumb.trm