Thank you all for great advice. It inspired me to look at all those issues which helped.
I checked the ignition switch and it seemed fine with no fluctuations in voltage but it is a common problem.
I went to work fixing the hatchet job wiring under the hood and also removed a poorly installed dealer installed GPS tracker under the dash that had disabled the OBD port.
I replaced the 2 relays that control the engine electronics because they were turning from grey to brown from heat. This was a big help. I did not not expect it to be the problem since the car made no stumbles or weird issues with running, but it did. Apparently they were causing voltage fluctuations when they started to heat up.
The battery would probably have helped BUT, under the incorrectly sized battery, was a severely bent frame rail that prevented the factory battery from being installed. I told the owner about the problem but nothing else could be done with that.
After resolving many of the issues it got better but it is not completely fixed. Fixing the more obvious problems allowed me to narrow it down to the final problem, the BCM, which I can not program, so I sent it packing.
I still can not figure out why the readiness monitors are getting cleared but it will remember the OBD error codes.
Someone sold him a poorly repaired wreck and sadly he will probably spend the rest of the car's life chasing problems.
The owner is a good guy who has lots of cars. 3 times this summer he has asked me to replace the AC compressor on a car/van/trucks and 3 times it was just a simple fix. He pays extra when I save him money by being honest. I need more clients like him.
Thanks again.