Hello,
I believe that snippet of code was from you :) I simply put that quoted snipped in the cmgoto function as per your instructions. I'm sure this isn't the 'right thing to do' since it completely bypasses the switch statement that tries to do the cheapest cursor move.
For what I can tell from the long discussion this is very hairy bug to observe and debug. But for some reason that I don't fully understand this patch solves my re-draw issues.
Also, if you are interested in solving this issue properly, running emacs inside a VM (in this case Virtualbox) seems to make re-draw issues a lot more likely and thus perhaps easier to diagnose.
Cheers...