I think you have two options. Try letting the engine idle for a minute to cool down before you turn it off. That worked for me on a similar tractor.
Or look for an 'aftermarket' replacement for that solenoid. You can usually find them for $30 or $40 instead of $170.
Had a similar headache with an old mower of mine. I'd bet it's your fuel pump relay. That's the little switch that tells the pump to run for a couple of seconds when you turn the key. It's probably just worn out from age. Easy way to check is to find the relay (usually in the fuse box), and when...