Check your tps sensor. Both the pulse counts and the output voltage. Mine has done that almost exact thing and that is all it turned out to be. You have to have a scan tool to do the counts but you can do the output voltage with a voltmeter. Should be between .65 and .70 volts @ idle. Mine was also starting really hard and when it did start it was flooded. But any where off of idle it ran fine! Also if this sensor is out of adjustment it won't register a code. :boxed:
The last time I scanned it, it was .57V, which looked normal. Not sure exactly what the range is for idle.