I had the opposite problem: rough idle when the engine got warm. No check engine light. I cleaned the IAC and the MAF, checked for leaks etc, but no success. I read somewhere on the net that if you disconnect the battery over night the computer will loose all reference values from various sensors and needs to be re-trained.
I tried that and it works after that!
Might be worth a try for your problems as well?
Martin/