This sounds exactly like what I have been going though for the last couple of weeks. At first the symtoms (rough idle) were mild. When it got real cold (-4) it started and died just like you described. I waited for the weather to warm up a bit and replaced the IAC. Great, thought I fixed it. Then it got real cold (-10) again. Same problem, would not idle. When the car warmed up it got better, it would run fine on the highway but idle was rough when stopped. This morning it was cold (+2)and the idle was terrible. As you described, I could keep it running with the throttle. Up to this point I got no useful codes. I did get P0171,P0174, which I thought was significant, but I could not find any vacuum leak, and besides, it runs perfect when the air temp warms up a bit, say into the the 20's. Anyway this morning I got a P0300, (random misfire). I now think it is has to be plugs/wires. My thinking is this. When the air is very cold it is very dense and it it harder for the plug to fire. Because of the closed loop idle control, the computer will do anything it can to idle at 750. It will open the IAC until the plug or (plugs) "fire" This is what causes the rev surges and cycling you describe.
I am going to do my plugs and wires as soon as I can and will report back.


Scott Waltham, MA 1996 GL V6 ATX