got some more time today to get back to this...
it turned out that the problem was that the PIT had just stopped
counting, after vga went into realmode when writing to /dev/realmode.
so all of the timers keyed off of timerintr were not being triggered,
such as the keyboard, uart and mouse cursor timers.

i don't have any docs on the machine's southbridge (VT8235) to
determine if there is something special that needs to be done in this
case, but manually reinitializing the PIT after coming back from
realmode does fix the problem.

i'll keep investigating....
any other thoughts/suggestions appreciated.