Did you run a fuel pressure test? Could be a weak FPR. IIRC a 1222 is the DME telling you the O2 sensor is out of range for over 10 seconds. Most likely the whole system is OK, just fuel delivery problems. I'd also be checking for fuel leaks, especially those little PITA bits under the intake manifold and at the fuel pump hoses. Also verify that the FP contacts haven't broken inside the socket at the fuel tank...seriously, LOL. Had that happen on my 633CSi last year.
Did you check the main & FP relays? Pull the FP relay and use a bit of wire to jump socket contacts 30 & 87. Then see if it runs better.
Also check resistance on the crank sensor and give it a good cleaning; you should see 640 ohms or so. If that sensor isn't giving a really good solid reading to the DME, it'll start cutting out the FP relay.
I had this happen to me just a week ago - my 745i would barely run. Since it's a Euro model - no CEL. Turned out the entire fuel system was OK, the relay was bad. I'd assume those little internal contact pads wear out after 20 years of carrying power.