My wife has a 2002 Grand Prix which had the following symptoms for many months...

1) Could not remove the key from the ignition (unless release button pressed under the ignition switch)
2) Could not move the gear shift out of Park (unless release button pressed next to the gear shift lever)

Being an engineer I decided to find the root cause of this problem to avoid the classic trial and error approach. The first clue to the problem was the voltage on the BTSI fuse in the back of the glove box. The voltage on each side of the fuse referenced to ground measured about 5 volts with the engine OFF. It is suppose to be the same voltage as the battery (ie. 12 to 14 volts). Examination of the circuit revealed the voltage drop was caused by a poor electrical contact in the ignition switch. I purchased a new ignition switch (AC Delco D1491D Switch Assembly from Amazon for $67.15) and successfully installed it myself following instructions found at automotiveforums.com.

Note this assembly is an electrical switch/wire harness located in the steering column just behind the ignition key. Replacement is not too difficult but the task is not intuitive and the instructions are a definite requirement. Now the key and shift lever work perfectly and my wife is happy. What could be better than that?

I hope this helps others with this problem. It appears to be very common on Grand Prix cars. Good luck!