when it sounds like the engine is not turning, do you just hear the starter wind up by itself, or does it not even do that? if thats what it does, then there are 2 options, the first of which is that the starter's gear fails to move to where it contacts the ringgear (the flywheel's gear). the other option is that the ringgear has a few broken teeth, which are causing the starter to wind up but not move it.
i had one that worked fine above 40* but only half the time below that temp, and it was the starter's gear that wouldn't always move.
or if your problem is that the starter won't even spin up, then you should check your solenoid and cables. if you still have factory cables, its probably time you replace them, as theyre probably corroded inside - i had one break off at the starter without breaking its insulation, took me about 10 minutes to figure out. don't laugh too hard, but i got it home using a knife and a screwdriver to strip the wire end and borrow a hose clamp to clamp the wire i just stripped to its terminal that was still on the starter - then i drove like that for a week.
hope that helps something