Originally Posted by GenePoole
As far as I know (for E9x), no FOB that has ever been programmed to a car can ever be used again in a different car. It is possible to code a brand new FOB with some expensive tools out there, or, (I've heard) replacing a chip on the FOB with a new (never programmed chip). Of course, there are rumors that it is possible if you have read/write access to the CAS EEPROM, but I still don't know of anyone who has done this.
There is apparently a tool that can plug into the OBD port and program a blank FOB without even having any other access to the vehicle. You can break a window, plug in the tool, program a blank FOB, and drive the car away with the new FOB. Scary stuff:
can't do this in the US. Only the dealers can program new keys here