The problem is caused by the rendering system, I once asked about this and here are some details:
I can confirm certain graphics primitives are rounded to integer
coordinates when drawn to the screen. I can't really go into all the
details about why this is done. You have produced an example which
looks a little weird do to this behavior, but there are other examples
which would look weird if we didn't do this. As you discovered,
printing and vector export have no such issues. Polygon[] does not
have this behavior. Also, further changes to improve consistency
(particularly between different platforms) have been made for a future
release of Mathematica.
As for the feature in Mathematica 7 you mention, that basically involved converting our entire rendering subsystem from using fixed
point coordinates to floating point coordinates. Previously internal
coordinates were represented as integers in units of 1/16 of a point.
This made the math nice and fast (particularly 20 years ago), but had
the severe limitation that coordinates closer than 1/16 of a point
were treated as if they were identical. This problem was exacerbated
by the introduction of GeometricTransformation, for example, which
caused the minor rounding errors to be magnified in certain
circumstances and cause noticeable rendering errors.
Note that this was an email from august 2010, and the details might have changed again. To avoid it, always use Export["figure.pdf",%] for saving your plots!