I wonder what else I can do to help narrow down the source of the UI lockup bug?

Watch the clock. Press 1 until the time comes up. Set it via the menu if it's wrong, as accurately as possible. Keep an eye on it, periodically checking for remaining in synchrony with your watch. Especially have a look at it just after a lockup, and see whether it has lurched backwards.

Do the Hijack HTML headers include a timestamp? Or is there some other way of getting the result of gettimeofday() out of Hijack even if the player is locked?

Peter