You genius must be rubbing off or transferring by osmosis or something because I was thinking the same thing. Unfortunately, me poking around would probably do more harm than good.
How long is your longest blocking call? The software wdt in the esp class is configurable and could be set longer than your longest blocking call. It should be possible, at least from what I have read and my limited knowledge of the structure of the Hubduino libraries. Because of the structuring of the libraries though (which I totally understand is the only thing that makes the system as a whole so modular and adaptable to every scenario) is a big hindrance to anyone with only a novice skill-set making any modifications. I've tried before and I also miss a function somewhere or don't realize the implications of what appears to be a small change. So, I don't know how much help I'm going to be.
I was also wondering if we might actually be stuck in some type of loop on the board. Since we are only seeing this failure when we have to pull the power on the hub due to a lock-up, is it possible that the board is stuck waiting for some type of acknowledgement from the hub that it will never receive since it is locked up and being forced to reset? I'm not familiar enough with the low-level communication between the board and the hub to answer that question but I see that not infrequently in my line of work.
Now that I have a better handle on OmniThing though, I was going to look at possibly porting a couple of boards over to that system. Given your knowledge of how Hubduino and OmniThing operate and the failure mode we are observing here (being caused after a hard power-reset) do you think that OmniThing would be susceptible to the same type of failure.
The one thing I wish even more than being able to fix this easily is being able to reproduce the problem easily! I hate to keep pulling the power on my hub to create the failure because every time you do that you're increasing the chances it won't come back on. And I REALLY don't want to press my luck. If the no-stick hub were a little cheaper I'd consider getting one as backup/testing but $80 is a little steep given my limited use for it. Maybe someday when I get better at Groovy.
All that said, I'm more than willing to help test anything you come up with? I have a whole bunch of extra boards (D1 mini's, NodeMCU, and Feather Huzzah) and sensors of different flavors so I could set a few up to run bench-top for long-term stability testing. Other than being a sounding board, I'm afraid that's all I have to offer. I still have much to learn.