I'm with Tools on this...
Mine had a bad ignition switch that would randomly (usually when cold) give some kickback when the starter engaged momentarily for a split second, then bind.
The result made it seem like I was cranking over a super high compression race motor or sumthin
Replaced the starter motor and the problem only went away temporarily
Then I put a jumper wire on the solenoid and it tested no to low voltage
Installed a relay with a push button switch for a solid 12v trigger and she's been cranking away perfectly ever since