the post-cat O2 sensor is only there to monitor the cats. performance. the computer uses the 2 sensors on the downpipes to sense each banks mixture.
but i also think the programmer is, at least partially, the cause of the mileage and rich codes.
Correct - the cat shouldn't change rich/lean conditions at all. A system with a cat typically runs dual O2 sensors per cat. A 5.0 Explorer for example, has 4 O2's and 2 cats - the front 2 O2's near the manifolds are what monitors the air fuel ratio. The back 2 compare readings with the front 2, and from the difference in readings a "performance check" on the cat is determined. Thus, when you take the cats out, the sensors are reading the same value, and a CEL is thrown on for the cat not doing its job.
If the previous owner used a simulator, it still shouldn't affect the rich/lean condition unless the simulator was (for some reason) connected to the front cats as well. Typically the simulator only works for the one sensor, so I don't imagine this is the case. The programmer could be the problem, or you may have something else lurking around....
Run it without the programmer for a while, and on stock tune if you can, and see if the light stays out. If not, get'r checked out.