I dont have one of these, but I have the Porsche Durametric, which seems like its made by the same folks. Its the real deal, and not some chinese old generation copy crap on ebay. But its pricey:
Bavarian Technic BMW & Mini Cooper Software Diagnostic Tools
And the old standby that has been the BMW DIYers defacto reader for years:
http://www.peakeresearch.com/fcx3.ht
Peake readers are great for code reading and service light resets. Cant do any code changes.