Sorry if this is old news to some of you, but it was news to me. I didn't check the UK e90 forum, it must be a hot topic there.
I saw this coming... As a professional software programmer/engineer, the best solution is even mentioned in the first article, IMO:
It would be relatively easy for BMW to implement some kind of public/private key system, too, where the OBD remains inaccessible unless it’s activated by the owner’s private key. When getting your car fixed, you would simply lend the private key to the mechanic. As cars become increasingly computerized and digitized, it would certainly be sensible for automakers to take a leaf out of the Silicon Valley playbook and begin hiring white hat hackers to secure their on-board systems.