Sucks that this only started happening after 10 years of no problems. Did you consider running a coil kill switch or a solenoid jumper momentary button? That way you could either crank with the key and then turn on the spark when its spinning good, or crank with the button and turn on the key when its spinning good. Mine is set up the second way, with no spinning from the key. More of a theft thing than a starting thing for me, but it is a cheap way to start good with locked out timing and it could possibly solve your problem?

Good luck!