Check the GROUND WIRE from the battery to the starter. I had this come loose on my wife's car once.
Drained the battery. Jumped it, wouldn't start. Whacked the started, it started. I drove a mile, died again.
I thought I needed a new starter, but turns out, the ground wire nut came off and the wire came loose. This drained the battery and of course, made the starter not work correctly.
Check that the connections on both the starter and battery are clean and tight. It doesn't sound like your ground came completely loose, but it could just need tightened, which would be causing the sporadic symptoms from having a connection that touches sometimes and other times doesn't.
Sometimes the easiest (and most stupid) things can fix what you thought was a big problem. Once you determine that this is not the problem, then move on to testing components. First, check the easiest and cheapest possibilities before you spend money and time you didn't need to.
Last edited by monkeydad; 03-31-2011 at 01:19 PM.