This sounds like a theft system error. This is more common when its cold, the system will not let your car start. The theft system uses a signal from the ignition switch, the switch sends a signal to the engine computer and the computer decodes the signal. If the proper signal is sent, then the car will start. Sometimes when the switch is cold, it sends a improper signal. The signal is just a voltage signal but if the voltage is wrong the car will not start.
Gm has a bulletin on this issue. Have seen this issue may times. the repair is to replace the ignition switch. Here is the information.
#04-08-45-005D: No Crank or No Start, DTC B2960 and/or B3033 Set (Replace Ignition Switch) - (Mar 15, 2006)
Some customers may comment that their vehicle will not start. This comment is referred to as "no crank, no start with complete power."
Additional customer comments may be as follows:
When the key is rotated from RUN to START there is a voltage signal sent to the BCM that goes through the PASSLOCK resistor in the ignition switch. This voltage signal may have an early ignition switch bounce (when going from RUN to START) that the BCM interprets as a failure in the PASSLOCK system and disables the starting circuit.
Using the chart below, verify that the ignition switch has been replaced at least once using P/N 10392423. After replacement of the ignition switch or replacement and reprogramming of the BCM, perform the 30-Minute Learn Procedure found in Programming Theft Deterrent System Components