Yeah, it's just impossible to know what the player 'meant' to do, so with the 8-way sticks we're probably going to be wrong at some point when we hit diagonals.
(Like my earlier example, if we see "up" for a while, and then we see "up/left" how do we know if that was an accident and you still wanted "up" as compared to that you wanted to go "left" and just had it too far up at the same time.)
We might experiment with a user setting just to let people decide the algorithm. (Basically we can "ignore a new diagonal" or "change to new direction when a diagonal is hit". There's still situations were we have to 'guess' or take whatever we see first. Say you're pushing "up" and then the next thing we see is "down/right". We have to pick one, but have no frame of reference what you intended to do.)
-Clay