There are no codes thrown when it shuts down - which I would expect from rich/lean.
Therefore it might be the crank position sensor, which won't record a code if it sees zero revs and tells the ECU that the engine has stopped, and therefore that it should cut fuel/spark.
Although why it would not then start until it cools down is odd, unless it can't read the cranking rpm whilst hot.
There are no codes thrown when it shuts down - which I would expect from rich/lean.
Therefore it might be the crank position sensor, which won't record a code if it sees zero revs and tells the ECU that the engine has stopped, and therefore that it should cut fuel/spark.
Although why it would not then start until it cools down is odd, unless it can't read the cranking rpm whilst hot.