@iamtheghost sorry for the late reply.
I moved to ThingsBoard which acts both as a controller (via the Rule Chain engine, a very powerfull yet very simple method to instantiate all kind of operations. For example: I'm fetching my sensors data every 5 minutes and uploading to wunderground and windy) and as a web gateway to access data with a nice UI.
Sensors are still based on the "same old" NodeMCU board, and guess what: each variation of those boards (AMICA, Lolin, Lolin v3, etc.) now is working perfectly. I removed the radio module, since it won't be used anymore, and some of them are powered via battery shield (18650 LiPo with recharge port to be connected to a solar panel, for example).
Here an example of one of my dashboards: you can also notice a ReedSwitch sensor and an Alarm Module that displays and Alarm each time the sensor reports "door open" and sends me an e-mail alert.
As for those stating that NodeMCU is a "wrong" choice: probably it is if one would like to use MySensors Library. But "per se" NodeMCU boards are extremely versatile, more than Arduino or WeMo which requires "stacking up" various modules/shields to obtain the same functionality offered by a NodeMCU in almost half the space.
@kimot the radio module selection should be based upon the user-case scenario, at least as long as MySensors Library officially supports both NRF24 and RFM69. One case where you might want to stick with 2.4Ghz network is when your area is "heavily populated" by radio signals and interference from an airport less than 50km away in line-of-sight.
@Tmaster I can assure you, at least in my case and I think that this has been the same for iamtheghost, I tried EVERY possible hardware variation out there. I spent months buying original components, both from resellers and producer.
@iamtheghost I'm sorry I could not post any kind of solution, but just to say "Me too!".
Two years and half of experimentations, different platform (ESP8266 / ESP-12) but same radio and same h/w for the controller, and in the end I had your exact same results.
Same as you, I did everything I could to figure out the problem, including spending and "insane" amount of time (and money!) in sourcing the same hardware components from different sources.
I did change the hardware (wires, components, microSD, cables, power sources, etc. etc. ) so many times that I can't even count; that poor raspberry of mine has been flashed over and over; same goes for the ESP-module, which I have also tried in every possible "flavour" (NodeMCU, Lolin, Amica, WeMos, etc. ). And in doing so I left quite a trail of "weird and unsolved" problems here in the forum.
In the end, just like you have discovered, I could never make it work!
I was captivated by the idea of having a "mesh sensors network" working around my building, especially because I have wide areas not covered by WiFi and I was intrigued (to say the least) by the possibilities promised by MySensors. But as you said, "It promises all the bells and whistles for cheap home automation, but despite my every effort, I cannot even read a simple DHT11". (*)
(to be precise, in my case it was also a BME280; I switched to those AIO sensors after failing with DHT variants)
I did never solve the issues, and I abandoned this platform when I reached the verge of my patience having exactly the same sketch with the same hardware (really, the same sensor, the same radio, the same wires, and two identical boards) working on one board and failing on another.
After 2 years and a half I gave up on the idea of a "mesh network" and moved to another library (still free and still available to install on a raspberry to use as a controller, and with a beautiful UI)... wish I had done it sooner. In 4 days I fixed my whole network, having a plethora of sensors constantly reporting, never hanging up for any reason (I mean, I tried removing power in 60 seconds intervals for 5 minutes and in the end they all rebooted correctly with no errors) and with the bonus feature of outputting "eye friendly" data due to the different controller.
Hence, I perfectly understand your situation and I know how it feels: the best suggestion I can give you is to "move on" and use a different library/architecture.
I knew I wasn't alone. I totally accept and encourage platforms that are geared towards EEs and programmers, and MySensors is definitely that. Even as a programmer by trade, it's still difficult.
What library are you using now? I'm piqued.