I had a quite similar issue (it sounds like the same issue tbh) that caused no end of problems(car would run badly and die, down on power), but with no fault code ever occurring 🙄. The valvetronic range was not correct when checked in inpa, I can't remember the exact numbers but it was off, and the calibration in inpa would reset but then didn't do anything. The power on test, before starting the engine, when the vvt motor should go through a full range(click to click), it didn't do it at all.
It was narrowed down to the valvetronic motor, after cleaning the vanos Solenoids, replacing the initially suspected eccentric shaft sensor and having all the wiring checked. The valvetronic motor has been replaced previously so that's why it wasn't suspected.
Myself and @KwS(mostly KwS tbh) changed the valvetronic motor. I also changed the valvetronic electrical control module at the same time. Mostly because everything else in the electrical chain had been checked or replaced, and I wasn't 100% sure it was actually the vt motor itself causing problems.
After running the inpa calibration, and maybe dme calibration? the car ran mint and has done since then.
I did a write up of it in my 130i manual thread, you should have a read of.
I would suggest you change the valvetronic electronic module, it's $20 from fcpeuro. If that doesn't work then do the vvt motor, maybe both at the same time but the motor is much more expensive at $150US, plus you need the gasket. Photo below is the module and valvetronic motor gasket for a pre lci! Lci have a different type of gasket for the valvetronic motor(real OEM is your friend). Not sure if the module is different between lci/pre-lci but worth checking realoem anyway. The module lives underneath the fusebox on the passenger side of the engine bay. It's easy to follow the wiring from the vt motor to it. Realoem will also show it.
Also you noted that there is oil on the eccentric shaft sensor. From reading online trying to diagnose my problem that is a bad sign, and can cause faulty readings and sensor to fail. So it may be the sensor causing the issue. But if all the readings from it are good, clean it and pray its not the sensor otherwise that's about $250 US from fcpeuro.
Hope this helps