Ran into the same problem with a '98 lemon-law buyback that GM donated to our school. I built a lot of electrical "bugs" into our vehicles for the kids to practice their troubleshooting skills. One of those bugs was I cut the sensing element in the intake air temperature sensor and soldered in a regular resistor in its place that made it read 50 degrees all the time. In warmer weather the Engine Computer commanded too much fuel resulting in a little black smoke from the tail pipe until the engine warmed up. In winter, when it was well below 50 degrees, the engine would not start if that bug was switched in. If it was switched to use the original sensor, it started fine because the computer knew it had to inject an extra priming squirt of fuel, just like pumping the gas pedal on older carbureted cars.
Based on how that one acted, and since your description sounds the same, I'd be looking at the ambient air temperature sensor, often called the intake air temperature sensor. On our truck it was poked into the rubber fresh air tube near the right rear corner under the hood. It will have two wires, possibly a black one and a light brown one.
The only proper way to test it is to connect a scanner that can display live sensor data, and see what temperature it reads after the engine has been off for a few hours. It should read the same as the current temperature. The voltage on the sensor will be between 0.5 and 4.5 volts, (lower at higher temperatures). The two wires would have to be shorted together or the connector would have to be unplugged to make the voltage go outside that acceptable range. THAT'S what would turn on the Check Engine light and set a fault code. You can have a starting or running problem caused by that sensor reporting the wrong temperature even though it won't set a fault code as long as it stays within the acceptable limits.
Saturday, December 3rd, 2011 AT 8:02 AM