MEGA 2560 - Odd Timer Behavior first loop and intermittent thereafter

Thanks for the thoughts! In my original planning for this application, I had feared that by directly toggling the pins from within the ISR, I would be making the ISRs too long and possibly too frequent. Specifically, using a timer frees the arduino from having to toggle pins during every single half step. With my OCR array approach, I update the speed every "speedUpdateSteps" instead of every half step, and I get a lot of time in between the acceleration phase and deceleration phase of the movements, which I can use for any number of the other modules used in the application (I2C LCD, I2C RTC, SPI SD module, some buttons, power monitoring, etc.).

I am getting a little hung up on one thing you stated, but I think we are simply mismatched on our choice of words:

I believe you mean I can control only one stepper per timer independently with this method - is that correct? When I set the timer to CTC mode, and set TCCRA register to enable "toggle" on both OCnA and OCnB, I can get an identical squarewave signal on both the OCnA and OCnB pins. This indicates to me that I can get up to 3 motors per 16-bit timer, assuming I want to run all motors on a single timer at the same frequency. Perhaps I was not clear about "paired" motor drives being run at the same exact step pulse frequency, hence the decision to run them on the same timer (thus only needing to manipulate one OCR register for both motors on a particular subassembly).