I went out and checked all the wires and grounds. I couldn't find anything obvious, nothing looks corroded or cracked other than the spark plug cable, but it wasn't worn through the sheath. The batter tested just shy of 12V after sitting on the tender.
I fired it up and got it warmed up by holding the throttle, it popped and backfired like a sonofabitch, I did that for about five minutes then let go - and it kept running. It held the idle at 1000 rpms for a few minutes, then spiked up to 2000 rpms and sat there for a few minutes, then sputted and died.
It started right up again so I figured what the hell and took it around the block a couple times. It was fairly smooth in the lower rpms for a while but any time I goosed it the engine would lag and start popping again and any time I came to a stop I kept on the throttle a bit to keep it from dying on me.
Improvement, I guess, but I have no idea why since I didn't really do anything to it. Still not reliable. I have an appointment at the mechanic this weekend, so I still have time to troubleshoot and cancel if we figure it out.
Thanks again for everybody who's taken a moment to give me advice and ideas to chase down.