Your main issue here is that you have the wheels changing direction by "mirroring" the cluster/row (of 3 wheels) across it's origin by using a negative length and sliding it over (offsetting). While clever, the wheels' positions aren't fixed, so they seem like they're getting it when they really don't know where to be. There may be a way to effectively use negative length for a component (I avoid it), but I'd suggest keeping it simple while you better your grasp the nuances of DCs.
Simplest solution: Add your position to each wheel (or set 1 with 2 copies) and add RotZ=parent!divert_direction. For the wheel group, add a Divert_Direction attribute (=parent!Divert_Direction) so you now have a pass-through attribute from the model to the wheels.
You'll probably also have to modify your position X if/then statement to account for the removed negative length formula