Finally was able to take care of this. The P codes from generic readers are useless. Carly showed a code, I don't remember the number now, which indicated a bad fuel pressure sensor at the tank. This sounded like the LPFP to me, which has an integrated sensor and literally sticks out of the top of the gas tank, under the rear seat. I had already had this replaced under warranty by the dealer about a year and a half ago as the one from the factory was a known bad part that caused the MIL to light up.
Well, replacing that pump cleared that fault code - but not the MIL. Carly also showed some puzzling and to me obscure other faults (AC compressor but AC working; something else about a rear electrical module) and I was done futzing with this car.
Took it to an indy shop recommended to me by a long-time BMW owner. They diagnosed failing auxiliary battery, with good volts but **** for amps, which was underpowering various systems like the AC.
And triggering the MIL, which with a new batt is gone at last. The rough idle was because of coding glitches; upgraded coding fixed that. (This BMW specialty shop has been in business for 25 years; the owner said the AH3 required "extremely complicated coding" that took several tries before the car would accept it.)
So the upshot is this car while a lot of fun to drive is one persnickety machine.