As someone said before codes 41 or 42 can't be set until O2 sensors warm up.
O2 sensors need to be above 600degF before they can work accurately, so while engine and exhaust pipe warms up computer runs in Open Loop, no feedback from O2 sensors, it use factory pre-set air/fuel mix stored in it's memory.
When O2 sensors start working, computer checks them during warm up, the computer switches to Closed Loop, and at that time it may set code 41 or 42 if O2 sensors are not responding correctly.
Computer adjusts open time for injectors at least 10 time per second, monitoring O2 sensors while it does this, if O2 sensors are not switching fast enough or is still showing Lean after adding more fuel it will set code 41.
Code 41 Lean and Code 42 Rich means computer has a split personality, lol
You only have one O2 sensor for both banks on the 2.9l right?
O2 sensors detect Oxygen not fuel so code 41 means too much oxygen in exhaust.
And it also means computer is adding extra fuel because O2 sensor is detecting too much oxygen in the exhaust.
Since your MPG went down and exhaust smells rich then there is a problem with computer, O2 sensor OR an exhaust leak.
An exhaust leak, upstream of O2 sensor, sucks air in, O2 sees the extra air as too much oxygen so computer adds more fuel.
Now engine is running rich because of false Lean, and MPG drops.
O2 sensor or wiring could be bad, you changed O2 sensor but how is wiring?
The switch to code 42 could point to bad wire(s)
O2 sensor will have 4 wires, 2 are power and ground for heater, O2 sensors are heated so they warm up faster and stay warm.
Then a Computer Ground wire, pin 46, and a voltage wire for computer to monitor O2 sensor
Computer could be misreading O2 sensor, O2 sensor generates its own voltage, .1 to .9volts, so not much but this voltage travels to computer is is read by a circuit in the computer.
Pins 29 or 39 on computer should have O2 sensor voltage
And pop the top on computer, have a look at the circuit board, black parts are from leaking capacitors and can be failed areas.
Good look here at what circuit board should look like:
http://www.auto-diagnostics.info/ford_eec_iv
I don't think vacuum leak on this because while this would get code 41, engine wouldn't actually be running rich, it would be running normal for the most part because air leak is on the intake side, this shows up on O2 sensor as Lean at first but computer adds correct amount of fuel fairly fast so exhaust is back to correct oxygen levels.
Lean code 41 is set because computer calculation of 14:1 ratio based in MAP sensor data is incorrect, so code 41 in this case would be computer telling driver calculations are wrong.
So check MAP sensor or for vacuum leaks.
Actually running rich with a Lean code means Exhaust reading is not right, as said above, computer, O2 or exhaust leak