Moreover, it appears to me everyone is missing the fact that the OTA code has to be involved in order for the problem to occur - so it seems reasonable to me that someone (Joe?) should look at the OTA code to see why it is not properly handling the hex file from 1.59b2 and later. For instance, maybe the hex file for 1.59b2 & later is significantly larger, and maybe it is getting truncated by the OTA process, which would then cause some random problem in the code. It just happens to be in MPU6050 library call in my particular case. If that's the case, then drilling down into my code to find the exact place it hangs won't be very useful, as it could occur someplace else entirely in a different program.
I will be happy to provide hex files from working and non-working configuration - say 1.58 and 1.59. Then someone (Joe?) might be able to see what goes wrong with the OTA processing to result in bad code actually being written to the Teensy 3.5. After all, it's pretty much a given that the result of OTA processing of 1.59b2 and later results in incorrect code in the Teensy's memory. My bet would be that the memory maps in the two cases (OTA vs direct USB transfer with 1.59b2 and up) are different.