Have you checked your coolant? If the concentration of anti-freeze is too high, it could possibly keep the coolant from achieving the temperature the engine management system expects when the evaluation is made.
This more or less assumes that the coolant was changed with an incorrect proportion of water or topped off with straight anti-freeze when the level was below the proper level.
They sell an inexpensive tool (looks like an eye dropper with writing on it) in most auto supply stores that will tell how low the temperature needs to get to freeze the mixture. You can test 50/50 mix of anti-freeze and water against what is in your coolant expansion tank. The tool may even have a reference mark for 50/50 mix.
Just a thought.
Last edited by oilheadoug; 11-25-2012 at 08:27 PM.