I use NCSExpert and PASoft 1.4 for coding (what little I do...), via this cable: -
http://www.one-stop-electronics.com/...&product_id=22
This cable works fine for any K-Line system (like on the E53) but won't work on newer cars - for newer cars you need the K+DCAN version...
http://www.one-stop-electronics.com/...&product_id=16
HTH...