U0003 Bmw 2000 is described as Fuel System Too Rich, which basically means bank 1's oxygen sensor has detected a rich condition of fuel. This means there's not enough oxygen in the exhaust from too much fuel being delivered into the air and gas mixture for combusion. So if the problem persists despite of your diagnosis, then you should never hesitate to take your vehicle to your dealer or to a qualified mechanic.
Possible Causes :
If the scan tool has that capability, and the scan tool can operate the IMRC valves, then the problem is either resolved and a simple code clearing is all that's left or a new PCM would be called for. With the valve disconnected, the red voltmeter lead should be attached to the IMRC valve power wire and the black voltmeter lead connected to ground. Replace the oxygen sensor that is downstream from the catalytic converter on the side of the engine that does not contain cylinder #1. Also, if a oxygen sensor code stating "heater circuit malfunction" the sensor has most probably failed.
Diagnostic trouble code U0003 Bmw 2000 is not difficult to diagnose and repair. Thus, it always pays to have a qualified technician to look after your vehicle should this error code arise.
Diagnosing this code requires the engine to be in good running shape, without unmetered air entering the engine. If other codes that relates to misfiring condition, lean running or air entering the engine is present, then you must first fix those error codes before U0003 Bmw 2000.
Fortunately, U0003 Bmw 2000 is a fairly common OBD code, meaning that it applies to all makes and models of vehicles made after 1996.