The bug was that I wasn't recognizing 0xFFC0 as a valid address to cause page 0 to be swapped back in. Mind you, per the recommendations of the specs, 0xFFC0 shouldn't be used in this particular game (it should be using 0xFFF8, as the game uses 8 pages of rom space), but that's neither here nor there -- 0xFFC0 is still valid for doing so. Anyhow, that's fixed now.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Short-lived bug is short-lived. Fixed in r268.
The bug was that I wasn't recognizing 0xFFC0 as a valid address to cause page 0 to be swapped back in. Mind you, per the recommendations of the specs, 0xFFC0 shouldn't be used in this particular game (it should be using 0xFFF8, as the game uses 8 pages of rom space), but that's neither here nor there -- 0xFFC0 is still valid for doing so. Anyhow, that's fixed now.