Re: Rough Idle
Like Mudmonger says, you could be getting led astray by a code still stored in the Keep Alive Memory.
If it were mine, here are a few things I would do:
Clean IAC and holes from IAC mounting into Throttle Body. You probably have a two-part IAC, so after you pull it off, you can pull two screws to separate the actual motor from the valve, then you can blast away with solvent without worry on croaking the motor.
Check EGR vacuum drive - With engine warmed up and running, pull off vac hose at EGR valve. Shouldn't be any vac on hose at idle. Run idle up to ~2500, should have vac on hose.
If you have a Fuel Pressure gauge, Key ON, Engine OFF pressure should be around 39 pounds, give or take. Leave it sit like that for a while. If it bleeds down fast, you could have a leaky injector, making it too rich, which would be a problem at warm idle. But leaking down without further troubleshooting doesn't have to be an injector. Could be fooled by bad fuel pump check valve, etc. More troubleshooting needed there if it goes down fast.
Start engine, fuel pressure should remain about the same (warning, pressure drop across the injectors should remain the same, but with engine running, the injector tip is now at vacuum, and fuel pressure reg. has vac line to sense intake vac, so operating pressure is what you read on the gauge, then add pounds of pressure negative below atmospheric.) So if you have 20" of intake vac, 20 divided by 30 inches of Mercury (atmos press.) = .666, then times 15 pounds (atmos press. in pounds) = 10 pounds, add that to what you read on the fuel pressure gauge when running. You're looking for far-off pressure values as bad, not just some off, as EEC will adjust injector duration using Oxy sensor, and tune out some variations.
That's were I would start, but it depends if you have the equipment.
Your problem doesn't have a clear solution, if those codes really are correct. Oxy too rich, and you already replaced the sensor, seems to say that the EEC can't get the mixture lean enough, no matter what it does on injector duration (it has a min. duration, will not go down to zero when running). That could point to too high fuel pressure (regulator, clogged/restricted fuel return line), but the EGR code is a joker there. EGR exhaust port in intake manifold may be plugged, killing EGR no matter what the valve does, or vac solenoid to EGR could be having problems, but that doesn't fit with the bad idle, as no EGR should be present then anyway. So some troubleshooting is definitely needed. Just some thoughts!
Sorry about my long posting, guys, but this is more complex stuff. Next weeks project - Troubleshooting the Mars Polar Lander, remotely, using only a test light :-)