On all locks (ignition, door, glovebox, trunk) there is a serial code that can be used to produce keys, and in almost all cases the VIN can also be used.
Exception - The stealer had keys made for my E24 3 times because they did not match. Reason was that at some point a PO had all the locks replaced w/ new keys and the "serial" was not updated for the VIN. There are many speculative reasons why this was done. Thankfully the E24 blank can be cut anywhere. An E34 blank can only be cut by specially lasers. New BMW's forget it, cant be done by anyone but the stealer.
Next time your at the stealer, look at the service techs desk and you'll see this funny lookin device, looks like a dock for a device. Its actually used to program the new chip'd keys.
Current
2008 M5 6 Spd
2000 Z3 2.8 5 Spd MSport
2012 X5 35d Sport
1995 540i 6 Spd
1992 535i 5 Spd
Former
1995 530iA
1986 635CSI 5 Spd
2011 X3 2.8 MSport