Thanks for your responses, very helpful.
It turns out that a heat shield from the exhaust fell off, and landed in a place which blocked the car from going into park or reverse. This should be a GM recall, but I doubt you'd ever see it on an old car like my 2003.
I'll post some picture below as a mini-how-to. Once I pulled out the shield, the shifter cable bushing would not hold. The cable kept popping off. The head was actually in tough shape. I fixed it by removing the shift lever (15mm), and the two Shift Bracket Bolts (13mm). I then ground the head off the shift lever, and put a bolt and spacers in it's place. The bolt needs to be about 1.25 or 1.5 inches long. (guessing) If it's too long it will hang up, and won't go into gear. Pay attention to the routing of the shifter cable, above and below the harness. Reinstall it the same way. Watch the Montana video below for general guidance.
Here are the pic's
Heat Shield which caused the problem: https://drive.google.com/open?id=0By...ME0&authuser=0
Overview:
https://drive.google.com/open?id=0By...NVU&authuser=0
The Shift Cable bushing is supposed to be replaceable, mine is worn.
https://drive.google.com/open?id=0By...Mkk&authuser=0
Here's a video which show the montana and a tool / replacement
https://youtu.be/oE35OTfqafo
In my case the shift lever head was rusted and worn: https://drive.google.com/open?id=0By...czg&authuser=0
I didn't want to wait for a replacement bushing to arrive, and my lever was pretty rusted. Instead I ground down the back of the lever and popped out the shift lever pin. I cleaned out the cable with a 5/16 drill bit by hand, and used a clevis bolt and washer. I greased it and made sure everything moved freely. I attached the nut and bolt to the end of the shift cable in the open where it was easy to work. Then I re-attached the shift lever to the transmission. Finally I re-attached the shift cable bracket.
Here's what a clevis bolt looks like. http://www.est1946.com/ProductImages...evis_bolts.jpg