I am in the same situation as you. Would you consider going 50/50 on a cable and coding ourselves? I am in north london and this is my first bmw (120D coupe). Although I have never done a BMW I have worked with VAGCOM (VW/Audi equiv) and done various coding on those. So the principle is the same.
let me know.