I'm a little stumped on my transmission.
Car info:
1994 BMW 540i Automatic
Mileage: 250008

History:
I just purchased the car privately knowing the trans was in question.
Previous own stated that car has never given them any problems. Said the car quit moving forward on the way home from work. Sitting at a traffic light and it just would not move.

Symptoms before:
1: Car would not move forward. Strong reverse. Disconnect Trans controller, still no forward movement (no 3rd limp mode)
Thoughts: Valve body, Solenoids, Clutch packs, Low fluid, Electrical issue.

2: Auto / manual switch would not work all the time

First Troubleshooting:
Check Trans Fluid:
Trans fluid was old, not burnt and did not smell burnt. (I'm hoping this rules out clutch packs)
Check check balls: (Common issue / failure)
Both check balls were under spec (.227 .228 vs OEM .230).
Check solenoids:
I checked all the solenoids (on / off and with pressure) and they seem fine, but I was unable to test the pwm fully.
Check Auto / manual switch:
Switch looks as if it took a bath in a soda.

Fixes so far:
Rebuilt valve body with 5hp30vbk
Replaced with OEM trans filter (aftermarket plastic will crush) and filled with proper fluid.
I also rebuilt the Auto / Manual switch located on the shift console due to improper function.

Good news. Car moves forward, kind of. I am able to get the trans to move forward in 3rd (limp mode) but something seems off. After 10 to 15 minutes of running, things seemed to work better, but that was short lived. I have (I believe) all the zf manuals and I am thinking it might be something electrical.
I can hear / feel movement when changing between P,R,N,D- etc... which is something new. (Lunging / loading on the engine)
Reverse is great.
Auto / manual switch works 100% of the time.

My questions:
1: what is wrong! (Well, just being honest.) but I guess that is the overall thing.
Main Question:
1: How to read trans codes?
1.1: CAN /RS232/ RS422 messages? what type of interface do I need to talk to the controller.
I am thinking at this time I just need to know what the computer / trans controller is seeing, issues with trans input / output speed sensors or codes, to do any additional troubleshooting. I have downloaded carsoft diagnostic software but I need to create / build the interface to connect the computer to the diagnostic port (question on message protocol /CAN or ??)
2: Has anyone seen problems like this?
3: Additional diagnostic check points?
Thanks for your opinion / help.