^^^ You have a wideband? I know some narrowbands are pretty stupid and will say "lean" at idle even though the car is operating within normal parameters. Also, are you throwing a system too lean code? I would assume that running as lean as you say you are you would have a CEL. Because you say you run lean with the AFC both plugged in and unplugged I'd check for an exhaust leak around and before you wideband/O2 sensor. Last summer my wideband just started reading lean all the time and did everything I could think of - replaced both O2 sensors, the MAF and cleaned everything and it was still lean. It wasn't until a week later that I got under the car and really looked around (it had been raining all week) and I noticed that I was mising a stud on the s-pipe/j-pipe connection. I replaced that and everything was normal again.
I do not have a wideband, just a narrowband. I did throw a CEL (P0171) and the car is even stalling sometime so I guess my N/B does indicate the right thing (red light).
I will check for exhaust leak the next time I go under my car, but the only possible way would be around or before the first O2 sensor because the secondary sensor isnt involved in the mixture right? I did already check my manifold tough and everything is tied and no signs of leaks (black stuff).