Take 2 wires, 1 from the starter main power line in, and one from where the little wire is. touch them together and see if it starts like that
Check the wires, they can cause that problem. Basically the solenoids don't have enough power to get the starter turning. When you hit it you are reducing the friction and then she has just enough. 15 minutes with a voltmeter and you'll know if the wires are to blame.
K, now this is gonna sound dumb.. but how do i check the wires with a voltmeter? Disconnect the starter main line from the battery put the voltmeter in between and try and start it? what should i get? 12v? or something?
Disconnect the 12v to the stop solenoid.. err coil??? and put one lead on the battery post and the other on the stud on the starter. Have a friend crank the motor over and get your reading. You want to see less then 0.5V. The reading you are getting is how many volts are being converted to heat due to resistance in the wires.
The proceedure for the ground is the same.
You can use this method to pinpoint exactly where the problem is, a connection, the wire or other. Just put the leads on either side of the piece you want to test. Ex to test the connection around the battery post put one lead on the post and the other on the clamp around it.