Have been trying to hunt down the cause for the rich running ever since the dyno day. Fuel trims were not a topic I was too familiar with so set out on a bit of an educational journey on the science behind it all. A bunch of Google'ing led me to a number of useful forum threads on the topic, including this priceless guide on reading engine logs by our very own @NZ00Z3. Despite being a Z3 loyalist , he's a bit of a legend over on the E46 Fanatics forums and an absolute treasure trove of information, helping countless people interpret their data logs and get to the bottom of their engine troubles.
I've gone into greater detail documenting the logging journey over on E46 Fanatics but so far, even with the help of the hive mind, haven't been able to find the smoking gun - the LTFT's for both banks have anchored themselves at -8.6%.
The engine is in great condition, strong compression numbers, fuel pressure within spec, tested for vacuum leaks, no engine codes.
O2 sensors & MAF are brand new OE, the Rev Rise Test seems to indicate the MAF operating as expected.
Have re-run the logs having swapped out various components without any change, including a throttle body, ICV & MAF that @Eagle kindly lent me.
One of the case studies mentioned an instance of rich running being caused by over-oiling a rechargeable K&N filter, which I did run for a while. I swapped it out for a brand new stock filter, cleaned the new MAF as well as re-running logs with a spare MAF without any change.
My latest attempts of getting to the bottom of it involved tinkering with the DME. I hacked up a spare body loom I had to make up a bench coding setup. Came out looking pretty crude but does the job well enough. Used a random old 12V, 1.5A charger for a power supply.
I had a spare DME from the engine donor car which I used as a coding test rabbit and to eliminate the possibility of the original DME not operating correctly. I updated the DME to the latest MS430069 firmware, checked that it's running the latest EU2 tune, did an EWS delete, cleared all adaptations and threw it in the car. It started up on the first crank, ran fine so I took it for a drive whilst monitoring fuel trims. The signs were promising in the beginning but then slowly but surely the LTFT's started creeping their way down before settling at the familiar -8.6% for both banks after around 20 minutes of driving.
With the original DME out on the bench, I flashed that to the latest firmware as well, cleared adaptations, threw it back in and sure enough the fuel trims were back at -8.6% within 5 minutes.
One other suggestion was to test the barometric pressure sensor on the DME since that could also cause false readings if faulty. I did the test whilst the DME's were coming in and out. Read 4.95V between pins 2 & 3 and 4.06-4.07V between pins 3 & 4 on both DME's, which checks out, seemingly eliminating the DME as the culprit.
Running out of ideas at this point, I should probably just leave it alone really. The car is still running fine, I don't explicitly feel any lack of power but knowing that something is not at 100% is still low-key eating away at me.
As was suggested in the other thread, it could just be the type/grade/quality of fuel used in NZ that's behind it but then the dyno results and AFR graphs shouldn't have been as different between the 3 cars as they were. A few weeks back we took @Carbon's E39 for a longer cruise with OBD Fusion hooked up the whole time, his LTFT's never went beyond +/- 0.3% throughout.
Few more things I might still try:
Will take out the spark plugs and check how sooty they are - would seemingly verify whether the engine is actually running rich or if the DME just thinks it is. Might just throw in a new set regardless. They've only done around 11k km's post engine rebuild but they did go through the whole running-in process, which could have gunked them up somehow I guess? Did read/hear somewhere that it's best to hold off throwing in brand new spark plugs onto a freshly rebuilt engine, advice that I blatantly ignored. So many conflicting opinions on the best running in process that it's really hard to tell what the definitive best practice might be but new ones definitely won't hurt at this point.
Might look at getting brand new injectors. Had the original ones professionally cleaned, the fuel pressure test didn't indicate them leaking at all, the trims for both banks are the same so should also eliminate any individual ones being faulty. Only thing that would make sense is all of them injecting too much fuel, equally as much so it quite a big long shot.
Blocked cats? Wouldn't mind a set of catless headers but yet to come across a decent RHD set - Malian Exhaust ones are sh*t, as @Eagle has experienced, Gravity Performance don't ship to NZ and Super Sprint are $4k+...
LS swap?