I've tested my interrupt loop, it's 400-600us long. I'm calling the interrupt every 1000us, leaving 400us for other activity. I can't put even a single Serial.print("A") in the interrupt, even though in my tests that only lengthens the time to 640us. If interrupt call B happens while call A is still running then call B is returned ASAP so they shouldn't screw with each other.
In what might be a related issue, I'm having trouble uploading to the arduino - 3 out of 4 tries will checksum fail.
Any ideas?