Thanks for the mentions
@LeStempy
The chip/kph to mph gizmo behind the dashboard normally affects only the cluster and fuel computer but in some cases can cause speed related error codes. At first (a long time ago) I didn't realise how the gizmo could only be connected to the cluster but also cause the fuel computer to work on miles per litre instead of km per litre. Then I realised that behind the scenes Elgrand speed is carried on 2 canbus channels, when a gizmo is fitted the engine ECU, transmission ECU, ABS etc continue to read speed in kph from one canbus speed channel that is unaffected by the gizmo. The gizmo does internal calculations to change the kph reading to a mph reading and outputs it on another canbus speed channel that the instrument cluster and fuel computer use. Sometimes the gizmos can cause speed related error codes, possibly because behind the scenes there is something that compares the speed data on the 2 channels but such errors don't normally cause a problem. Some gizmos though cause further problems, probably because they interfere with other normal canbus functionality. I've known them be the cause of engine misfires and gearboxes not changing gear properly.
There are effectively 2 parts to a lambda sensor, there's the sensing part and there's the heater part. The sensors need to be hot to work properly so they have a built in heater. If you're getting an error code for a lambda sensor heater it's usually because there is a problem with a lambda sensor heater or simply because the lambda sensor isn't even connected. It is unusual to have a heater problem on more than 1 lambda sensor at a time. The sensors are in the exhaust so are heated by exhaust gasses anyway but the heater is still used (and used more at idle or if the engine has only recently been started so the exhaust isn't up to temp). Being in the hot exhaust the sensors are usually capable of giving a fairly accurate mixture reading even if the heater doesn't work (after the exhaust has warmed up) but that doesn't necessarily mean the ECU won't ignore a lambda sensor reading if it has detected that it's heater isn't working properly. Sometimes a lambda sensor will fail in a way that sees the heater circuit get connected to the sensor circuit, which can make the lambda sensor read constantly lean or rich, which can cause the ECU to make the actual mixture very rich or very lean. A shorted lambda heater circuit can also affect readings from other lambda sensors and cause error codes for lambda sensors that would be working OK if it wasn't for the other problem lambda sensor that is shorted.. For example if the heater of 1 lambda circuit is shorted it will likely cause a heater error code for that sensor but it can also cause a heater error code for another sensor, this is probably because inside the ECU the 2 lambda sensors both get their heater power from the same electrical feed so the voltage drop due to the short on 1 sensor also causes a voltage drop for the other sensor which causes a fault to be detected for that sensor too. If you're getting multiple lambda sensor heater error codes due to one lambda sensor heater being shorted it is sometimes possible to tell which lambda sensor is shorted by interpreting live data, especially if the fault is intermittent because if intermittent the other lambda sensors that are not broken/shorted will reflect actual mixture in the periods when the faulty sensor isn't shorted even though the faulty sensor continues to give an extreme reading.
You've had error codes for all 4 lambda sensor heaters but since clearing error codes you're only getting errors for the front lambda sensor heaters, so it does seem very likely that one or both front lambda sensor heaters are at fault and on that basis it may seem a good idea to change both lambda sensors, and that could even turn out to be a very good idea, but still before I did that I would want to make sure it wasn't one of the rear lambda sensors at fault causing the front lambda sensors to seem at fault. When you first start an E51 engine the ECU holds voltage of rear lambda sensor readings at around 0.3V, even the live data readings don't show the actual voltage of the rear sensors until the engine has warmed up to some extent, it is unlikely but possible that the ECU also doesn't immediately pick up on rear lambda sensor heater circuit faults until the engine has warmed up a bit. I would be inclined to do some live data testing before just changing the 2 front lambda sensors but if you do look at live data readings you've got to remember that rear sensor lambda voltages won't 'flick' like front sensor voltages do if your front cats are still in place, not even after the engine has fully warmed up. During doing the same live data readings when the engine is fully warmed up, if you get error codes for rear lambda sensor heaters it will make diagnosis a bit more difficult unless you have already seen (due to live data readings) that the fault seems to be with a front lambda sensor heater.