Coding setup will also work and is cheaper.
see
http://www.e90post.com/forums/forumdisplay.php?f=368
plus you can recode your car and its not vin limited.
I have seen people report they paid as much as 700 bucks
in the bay area to get there battery replaced.