It's late and I'm probably overlooking something obvious here. Don't hurt me. ;)
I've implemented a fullblown /A13 toggle calculator for doing MMC3 IRQs. It generally works just as good as the 'decrementing per line' gambit, but without all that pesky crashing some roms cause when the IRQ happens too close to NMI time. (Kickmaster, Fire and Ice)
But here's the part that gets me: For it to work, the MMC3 itself has to have two counters. One for the interrupt, which is pretty well known and documented, and one more for the /A13 toggle counter. Presumably this is re-initialized to 42 every time it hits zero. But, where is this counter initialized? Its reset function does not seem to be obviously related to any specific registers or bits, so it's probably some latch quirkiness in action.
So, I checked a variety of latch-only points, to no avail. At those, either it would reset all the time (which breaks things, horribly), or it'd never get around to it.
Any ideas? For now I'm just resetting it to 33 at the beginning of each render frame, which makes it more or less equivalent to having things happen slightly after the beginning of hblank, like the old per-line stuff I had going.