This company had been reccomended to me:
http://www.endtuning.com
Ends Ward who runs it was very helpful when I enquirered and knows BMW's and the 6cul very well.
I enquirered about remapping after the M50 manifold (and larger throttle body) and he advised as follows in great depth, think others will find it useful:
'I can do the software, but not supply the parts. The M50 manifold conversion is pretty popular, and there are accessory kits on ebay which should include all the extra bits you would need providing you have an M50 manifold. The big bore throttle body isn't likely to have a huge effect, but they often come together. I'm not sure if a difference could be felt and they haven't proved to be popular on other makes, or even on a standard M52 manifold which makes it look more like they are done through habit rather than a true benefit.
The ECU can be set up for a larger airflow meter from an M3 3.2, BMW part number 13 62 1 403 123. Again, it certainly won't harm performance, but the original air flow meter might not be causing too much of a restriction.
The same could be said for the silicone elbow, it won't cause any harm, but it will be towards the final points of trying to get every available BHP.
The M50 manifold, silicone intake boot and big bore throttle body can all be fitted without a need to change anything on the ECU, but the larger MAF will require the ECU to be recalibrated to suit.
Other options in the ECU file are EWS removal, reprofiled vanos timing to better suit the M50 manifold, idle speed changes, RPM limiter changes, "limp mode" limiter removal and software updates if needed.
The way I work with the files is that they are modular, so I can make different variations based on different modifications. The MAF changes are a good example, the overall file is target driven, so I set new targets for fueling and advance, and the ECU will choose the best one depending on the conditions. The M50 manifold will flow more air at higher RPMs, but the ECU will look up different values compared to the original as it uses the airflow as an index for engine load.
The more air it takes in, the higher load it is under, and it will automatically use values for the higher airflow, and it’ll self-tune itself for the exhaust and manifold.
The MAF however is a calibrated part, the airflow passing it is converted into a voltage, and that voltage is used by the ECU to figure out how much air has come in. Using a larger MAF upsets this, so a new calibration curve is imported into the file which squares everything up again.
This modular style means only one calibration table needs to be changed and everything else will now work as original, as opposed to every table in the ECU needing to be altered. Without changing the calibration table, the engine would run lean as it would underestimate the amount of air coming in.
The result of all of this is that there is no specific need for it to be set up on a rolling road. The ECU will automatically update and use newer values once you have fitted the M50 manifold, and will handle the exhaust too without problems.
The tuning sets new targets for fueling and advance which will restore the lost lower RPM power from the larger manifold, so the main options are the new base targets, plus vanos switching point changes if the M50 manifold is fitted, plus MAF recalibration for a larger MAF and everything will work perfectly.
All of this can be done through the post if needed, or even onto a spare ECU which can have the EWS removed so it’s able to be plugged in and it’ll fire up when the larger MAF is on.'