There’s a long list of possible causes. While sometimes helpful evidence can be found with the symptom absent, it’s usually necessary to catch it in the act long enough to run the appropriate test. Intermittent problems are very frustrating for everyone involved.
From the description, it appears to be heat related, which generally means an electronic part is failing. Still a long list.
The crank sensor is indeed one of the possibilities. It is not in the control unit (ECU). It can’t be–it has to be next to the crankshaft.
The improvement for a week with the replacement ECU may be a significant clue, but by itself is not enough info to narrow it down. I’ve got to wonder, though, about the “90% sure” thinking. While a faulty ECU is one of the possibilities, in my experience they seldom fail, especially with this particular symptom.
I’ve never heard of a humidity sensor on an automotive electronic control system.
Modern cars, with fuel injection and high-pressure fuel pumps, virtually never experience vapor lock.
While a number of relays are on the suspect list, I’m not aware of any common failure on GM cars akin to the problem with main relays on Hondas. I would think in this case it’s much more likely something under the hood, being affected by engine heat.
Since it cranks, we can rule out a faulty starter.
Spark, fuel, and compression are generally listed as the three things required for an engine to run. Oxygen is of course needed, but since as mentioned it’s essentially always readily available, it’s not included in that list (if it were included, the list would have four items).
Leaking fuel injector(s) is also indeed a possibility.
This car has distributorless ignition, hence no distributor cap.
As I mentioned above, proper diagnosis with testing is usually not possible unless the symptom is present. Diagnosis by logic, experience, and parts replacement sometimes works, but as you’ve found out can get mighty expensive if incorrect guesses are made.
The dealer mechanics may be aware of a “pattern failure” typical of this car, which could give them a leg up if the symptoms won’t occur for them. But it sounds to me like the key issue here is getting the car to act up when and where tests can be run on it. It might be helpful to very carefully review the conditions under which the problem happens, and suggest that they try to duplicate those conditions as exactly as possible–e.g., drive it for 5 miles rather than just let it run. Description of symptoms is usually much more helpful to professional mechanics than a list of likely or possible causes. If they’re worth their salt, they know more possible and likely causes than you can present to them.