This afternoon, Cybertrucker and I managed to fix his non-functioning TD Speedo (and everything else that needs a speed signal)..
This is a pre-facelift, so wasn't an ECU failure per se, but it took another unit to fix (from my 2.0). All became evident as we took the connector off the existing one - a corroded, charred mess presented itself! Looks like there had been some fluid spilt on it at some point, and the really important pin (out to the speedo, steering, cruis, sunroof etc) had actually broken off in the housing.
Within a couple of hours, we'd reassembled the connector with parts from the donor unit (and a new wire/pin) and it works! Speedo is spot on (or seems to be).
Is it just V6 ones that are a pig to do? Took about 10 minutes to remove it from my 2.0 and as much on the TD - rest of the time was rebuilding the connector!
EDIT - there were a lot more wires on my 2.0 one than the TD - is this because the BMW engine doesn't need the speed signals to the ECU?