The thing to remember about OBD2 is that it is a .gov mandate to let you access "emissions" related fault codes and "emissions" related data only. The manufacturers aren't obligated to let you access anything that doesn't have to do with emissions. This is often referred to as "Generic" OBD2. ELM units usually come with a variety of different generic software, but usually nothing enhanced. 99% of the smartphone software is generic only.
The term "enhanced" is for all the other codes and data that are manufacturer specific that they are not required to give you access to through a basic OBD2 tool. This can be enhanced engine data, transmission related stuff, air bags, abs, etc... Anything that they feel is proprietary. Some manufacturers are better than others about access to this proprietary information. That usually requires some pricey diagnostic tools and sometimes even subscription fees to use the tools.
The nice thing about Forscan is that it uses a cheap ELM tool and gets you most of those enhanced features (for Ford vehicles anyway). Aside from programming it is almost as good as the dealer level tool. It's easily the best bang for the buck.
Now for BMW there is INPA. Which I believe was the factory (not dealer) software. I assume it somehow got leaked and spread across the net like wildfire. It is amazing what you can do with it, but it's not the most user friendly. It is about as enhanced as you can get, but it's getting pretty old now, I'm not sure how new of a vehicle it will work with. It doesn't work with the ELM, but there are cheap interfaces that work with it.
http://www.ebay.com/itm/INPA-Ediaba...hash=item27e0925347&item=171271410503&vxp=mtr
BMW Scanner version 1.4 - 2.whatever is a 3rd party software that is pretty user friendly and relatively cheap.
http://www.ebay.com/itm/BMW-Scanner...hash=item233c616a55&item=151336872533&vxp=mtr
I also stumbled across this while looking for those links. It looks like it is INPA and DIS all in one. DIS was the dealer level tool for many years, excellent features, and semi user friendly. Probably a little outdated now though. I have no idea how they got it to run on Windows, I spent weeks making a laptop run on Oracle back in the day just to use it.
http://www.ebay.com/itm/BMW-USB-TOO...hash=item3a8e4b29e7&item=251495393767&vxp=mtr
You'll have to do your research to see what will work with your car, I'm no BMW expert. But, that should get you started.