I agree, colder weather does lead to engines running richer for longer periods.
Bad or leaky fuel injectors and/or a bad pressure regulator can also cause too much fuel to get into the combustion chambers and create a rich condition.
Or maybe a clogged or kinked air/vacuum hose somewhere that is choking off the normal air supply.
A faulty Air Charge Temperature (ACT) sensor could be telling your computer that it's even colder outside then it really is. And your engine will run rich if the computer thinks that it is not up to operating temperature (open loop), so you might also consider the Engine Coolant Temperature (ECT) sensor...
And speaking of coolant, a T-Stat that never closes will also cause an engine to run colder and hence richer.