A . . . B . C . . . D . E . F . . . G . H . I
When moving focus DOWN from A, it will land in B (because that is the next LOWER link closest to A).
I agree with this. It is also the common behaviour in text editors and text processors.
Moving it down again lands it in C (NOT E), as that is the next LOWER link closest to the original x-coordinate.
I would expect that moving down will bring me to one of the links in the D.E.F line, the link which x position is the closest to A's. As this is a geometrical/(geographical) navigation, I'd expect a behaviour similar to cursor motion in text editors.
If you now were to move focus to link E (by moving it to the right), it would update the 'x' cursor coordinate, so the next move DOWN after that would end up on H.
OK.
The cursor is ALWAYS set to the current link's 'y' coordinate. In case focus is moved out of context (eg when it is set by the search feature) it should be set to the current link's 'x' coordinate as well.
I came across the User Agent Accessibility Guideline 1.0 (http://www.w3.org/TR/WAI-USERAGENT/cover.html#toc) but there is not much information in it that could help deciding what behaviour is to be expected with the cursor motion (but again, those are guidelines).