Just though I'd post up real quick for those that may experience this same problem. I had my ignition switch go out on me this weekend. Had just started the truck and it was idling for a couple of minutes. All of the sudden it just died for no reason. Tried to get it to restart and nothing from the engine, but all the "idiot" lights would turn on and the gauges would cycle. I called Onstar and they told me I had multiple codes including PCM communication error, airbag communication failure, and a couple of others I can't remember right now. I have the codes at home but I'm at work right now so I'm not sure of the numbers. Anyhow Onstar said, "must be serviced immediately", but I was on vacation in Phoenix about 8 hours from home, it was Sunday, and I was supposed to be leaving early Monday to go home.
Finally after cycling the ignition for about 5 minutes I got it to work. The truck started and ran fine, except for the check engine light being on,

so I went ahead and drove to the nearest gas station as I was very low on gas and it was 110+ degrees out and I thought that might have something to do with it

I stopped at the gas pump and shut the engine off. After filling up I started it back up and it ran horribly, it was obviously in a limp mode, it was missing horribly and, at full throttle, would rev to 2000 rpms and stay there.

Finally after cycling the ignition for another 5 minutes it ran normally again. I was able to get to our hotel. After a restless nights sleep not knowing what was wrong, I got up and the truck started fine and ran the entire trip home with no more check engine light or starting problems.
Got it to our local dealership Tuesday, after it would not start for me again and had to be towed finally. They checked all codes, including the airbag codes and found all systems to be woking normally except for the ignition. It had 12 volts going in but only 3.4 volts coming out. They replaced the ignition and we've gone 5 days now with no more problems, yet.