Since it's temperature-related and it's not the starter motor itself, I'd start looking for a poor electrical contact and a gap that grows with heat expansion.
Voltage drop is a good place to start, if you have a digital volt meter. Hold the positive to the positive battery post -- not the terminal, but the post -- and connect the negative to the connection on the starter then hit the key. You should see less than half a volt drop.
Then try connecting to a good engine ground, like a cooling fin, and then the negative post and try starting it again.
Remember,, you're looking for voltage drop, not voltage. In a perfect world, there would be no loss through ignition switches and solenoid so you shouldn't see any difference when everything is energized. Meaning zero drop. You can show the right voltage and even the right resistance sometimes but things still won't work that's when voltage drop under load shines.