My '97 6 cyl automatic (103k miles) is having some idling problems at highway speed. If I run over ~2000 rpm (60ish MPH) for more than a few minutes it starts missing badly, seems to drop a cylinder or two and naturally the check engine light comes on (been on a while now). If I turn it off and let it sit for an hour or so it runs fine again. After performing the 5x turnkey error code retrieval I get codes 12 (Direct battery input to PCM was disconnected within the last 50 Key-on cycles), 51 (A lean air/fuel mixture has been indicated by an abnormally rich correction factor) and 55 (Completion of fault code display on Check Engine lamp).
I've recently replaced plugs and wires, distributer and button and upper O2 sensor. I'm not sure where to go from here, do I need to consider changing the lower O2 sensor, crankshaft position sensor or is it possibly a PCM problem? Or am I off track and need to seek professional help?