this is what i use a lot autocom cdp plus link below will encode injectors and some keys and bcm as well as covering all P-codes dealer only codes,, also gives a live data option to run all sensors and controllers a must have to repair a car also can tell when timing chain needs to doing by reading the vanos sprockets position etc, also covers every car on the road £30 on ebay,, you will not find better for the money,Just thought I'd mention that I received today an iCarsoft i910-II.
I bought it specifically to reset the airbag code, as when I was having a spare key programmed, the guy doing it pushed back the drivers seat and accidentally disconnected the o/s seat tensioner.
I wanted to say it's a handy little tool and only £59.99 from Amazon.
This tool is specifically for all BMW and Mini variants. ::smile::
also another good one is wurth snooper i believe the RAC use it has loads of good functions