Yeah, these are the usual things we also apply as workarounds for getting things going before getting in touch with the real problem. But obviously - and we are probably on the same page with that - this is just a sign of problems which are rooted a bit deeper. Most probably it’s about timing of things. In other words (and without any offense): It just has been a matter of luck that it has worked before and it even might stop working there if timing behavior changes slightly through factors beyond their immediate scope.
The good thing is that we know already what we have to ramble about: Slightly different hardware, so different drivers and in essence different timing behavior of the things involved. Specifically: As I learned from reading your code is that LMIC more or less completely takes over the main loop and introduces multitasking functionality by means of
"os_setTimedCallback" and friends. While this completely makes sense to actually drive the LoRa stack, it does not shield you from doing minor but important things wrong on the task scheduling side when interacting with your sensor domain.
I’m confident we will find the culprit, but I have to tackle the learning curve of sublimating myself more deeply into the topic first.