Do actually want a new key or just block the missing one? Free software and a DCAN cable can disable / enable keys.
I can program BMW e90 keys however its not a whole lot cheaper for me to do it as the blank 'virgin' keys are pretty expensive / hard to come by.
You can reprogram a used key but you need to have the ISK from the old CAS unit. Then you can unlock it for use in another vehicle.