hi, after reading about your problem and all the suggestions i am surprised that nobody has mentioned the battery cables,if i was you i would connect a jump lead from the battery negative to a good earth on the engine ,not the chassis.,and try starting again,if it starts your earth cable from battery to gearbox/chassis,is faulty..if it has the same problem check the positive lead to battery is clean and isnt getting hot and that you have a good clean connection to the starter,i would then look elsewhere...do this before replacing parts..hope this helps,