According to <http://www.w3.org/TR/CSS21/visudet.html#containing-block-details>, when an inline LTR element is the containing block for an absolutely positioned element, the 'left' and 'top' properties use the left and top edges of the first box generated by the containing block, while the 'right' and 'bottom' properties use the right and bottom edges of the last box generated by the containing block.
In the linked test case (note: must have the Ahem font installed), the "left" edge is just to the left of "B", while the "right" edge is just to the right of "C". This means that #topleft should cover B, #topright should cover A, #bottomleft should cover D, and #bottomright should cover C.
Instead, #topright is covering the upper space, and #bottomright is covering the bottom space. By inspection, it appears that we're moving the "right" edge to be equal to the "left" edge, likely because we have a check somewhere that attempts to ensure that the "right" edge is never to the left of the "left" edge by setting them equivalent when that occurs.
We may be changing the spec here to make this behavior conformant.
But if it turns out to be easy to fix, go for it.
The CSSWG resolved Issue 215 concerning this bug <http://wiki.csswg.org/spec/css2.1#issue-215> by making the containing block undefined in this case.
So, no change required!
Not for CSS2.1 at least...