Looking at the startup code, I see that the code hooked into the early_hook by default disables the device watchdog. So any replacement is going to have to do that in addition to whatever else you want to do.
1) Disabling interrupts in addByteToTx() just wastes time since txB_wptr isn't modified anywhere else. Certainly not in another ISR.
2) The more natural (and faster!) way to write that is:
void...
Since analogReadContinuous is just a fancy way to read the ADC result register, it can't be the cause of your trouble. The ADC will keep on performing conversions in continuous mode until you stop it even if you don't...