I would start by having the battery load tested for amps. I had a battery that would spin the engine over fairly well but wouldn't let the engine start cause the starter was taking all the amps in the battery. When the fan, brake light, or flashers come on that is an amp draw and could be pulling the battery below amp sufficient level what the engine needs for spark. The charging system is not active at idle so that's why the higher rpm's will keep it running. Just because a battery will show 12v that doesn't mean the amp storage is good in the battery. Load test at a parts store will show if the battery has weak storage cells.
Last edited by Chuck A.; 06-23-2012 at 11:37 AM.