Basically, figured it out yesterday about time I started this thread, by looking at the upload data stream in the IDE compile window. It's avrdude's fault. I was planning to get my spoof to work, and then explain it, lol.
Ref the do...while loop shown above from optoboot. Avrdude sends over either 0x0080 or 0x0100 for the page write-length value (for the std mega chips), immediately followed by a completely "non-throttled" page of that many bytes in a continuous stream. The link has to keep up, or the data is lost, and there is no way built into avrdude to recover.
So, it looks like what happens at least with XBee is you're overrunning the data cache inside the radio. I guessed this a year or so ago, but didn't understand enough about the bootloader and transfer protocol to know how to deal with it. Shouldn't be all that big a deal to fix. I have my spoofer about half written now, so I should know pretty soon.