In answer to your queries guys, I got the software and diagnostic lead from a guy called Jimmy over on the BMW5 forum, He runs his own company and his web address is
http://www.cable-shack.co.uk
An extremely helpfull chap, There are a couple of programs that you can use for coding, One is NCS Expert and the other is Progman, The first being very tricky to use, click on the wrong button and you can wipe the keys coding, A trip to the dealer with your tail between your legs needed after that fubar!
I used "progman" which takes a bit of getting used to, There are loads of tutorials on youtube on how to use it, To give a full description of how I done mine would take hours of photo's and a lengthy write up, its much more satisfying to learn the software for your own knowledge.
There is other software which I used and that was called "navcoder" which will do your basic stuff like turning DRL's on and changing cold tests for you LCM, I used this software to diagnose the wrong information on my DSP unit. But only "progman" can code the major stuff,
All of this software is loaded onto a disc which is supplied with the cable, Have alook over on
http://www.cable-shack.co.uk
Much cheapness aswell