Just replace the ignition switch - less than $100 On my 2000 x5 (built 11/99) PN 61-32-6-901-962. I followed the procedures outline in the link below - Took me about 30-45 minutes - slow as there is not much space and just to be careful.
http://www.bimmerboard.com/forums/posts/244045
NOTE: Credit to Supersteve! and to the author of the link!