I know this thread is a bit dated, but I seem to be having a very similar issue and was wondering if this was ever solved or anyone has any ideas on it. My mazdaspeed protege turns over, but won't start. I had been noticing that it was cranking longer and longer in the mornings, and it seemed to be a function of how long it sat and low temps. Finally, it wouldn't start at all. First thought was the fuel pump/filter, which I replaced and it started right up. Initially I thought the problem was solved, but then the problem soon returned until once again it would not start.
Next thought was the crank position sensor (the lower one with a wire). Didn't solve the issue. But when the battery was disconnected and then re-connected, car started right up (which I now realize is why it worked after replacing the fuel pump). I'm thinking its a sensor issue, but not sure which one or what one would prevent the car from starting. Battery also seems to be dying due to the constant cranking and cold temps. Could this cause a non-start issue. It turns the car over fine though.
Any thoughts would be helpful. I'm just shooting in the dark trying to figure out what could be wrong.