I'd based my decision to switch from high memory video mapping to sprite caching on tests I ran where I disabled video remapping, and the same seemed to play fine. (Just with the wrong graphics.) After I actually did the switchover to sprite caching, and it still froze up, I revisited the no-remapping build and it also froze up. All three builds froze, after an unpredictable amount of time -- sometimes several minutes of gameplay.
In a shocking turn of events, the preceding investigation turned out to be a wild goose chase. The bug was happening when you input a diagonal rather than up/down/left/right, which is much easier to do accidentally on a touchscreen or d-pad than on a keyboard.
On the plus side, I get to keep all the tokens that I golfed to make room for the sprite caching library. ~1100 tokens golfed so far!