I don't normally give suggestions since I don't have much talent/knowledge but this problem perplexed me. And I haven't seen this "fix".
I had the same issue -- cold, 1st pull start, warm no start until cold again. I replaced coil with no success.
What turned out to be was something to do with the kill wire from the coil to the bail lever/switch. I have no idea why it happens when warm (I assume something expands, creating ground, or spark jumping etc).
So here's my troubleshooting steps-- no spark when warm (pull and ground plug and watch for spark when pulling rope). Good spark when cold. I confirmed this by squirting starting fluid in and I would get NO TURNOVER when warm (sign of no spark as well)
Pull the kill wire off coil either at coil or at the bail switch where the bail lever creates the ground (little wire off coil with spade bit). Try to see if you recreate problem when warm. (remember, you'll only be able to stop the engine with no kill wire by manual touching it to ground or visegripping fuel line to starve engine. If engine starts when warm, you have some sort of kill wire issue -- I couldn't fix it at the bail lever by bending the ground connection.
So what I did was put a cheap switch on a random area of the mower and wired the kill wire to it with another wire to a ground area. Pressing that switch kills the engine (so I can pick up a hose, safely empty clippings, stop for a drink etc). Grounding the wire manually works but might not be very friendly to my wife if she ever mows.
Good luck.