When cranking, is the cranking speed normal, or does it seem a bit labored? If it seems a bit labored, you might just have a weak battery. If it sounds normal, then you might have to make some measurements to get a very good answer on this forum.
For instance, do you know what your fuel pressure is during the cold weather? How old are your spark plugs and plug wires? You might want to pull a couple of plugs and see how they look. You might have a coolant temperature sensor that is out of range causing the air fuel mixture to be too rich or too lean when the engine is cold. Your idle air bypass solenoid might be dirty and not allowing the proper amount of air around the throttle plate during a cold start. I'm sure there are even more items that I'm not thinking about right now.
-Rod