Sounds like you may have a bad coolant temp sender. This is the blue sender on the top of the thermostat housing towards the front on engine. This sendor tells the computer if the engine is cold and whether to kick in the cold run circuit. When you say the car runs ok warm but not cold, that suggests the cold run circuit is not kicking in.
Start by checking the wiring connection for corrosion and a solid connection. If that looks good, replace the sensor. Should be about $35 or so.
(Or, if you have a multimeter you can test it - with an engine temp of about 175 or so - op temp - the resistance should be about .27 to .4k ohms)
Hope this helps...
Jeff
Bellevue WA
90 535iM - not much stock remains. 3.7 liters, ported head, cammed, 3.73 diffy, M5 brakes, MAFed, yadda yadda yadda
86 Porsche 951 - Track Toy