But that's what's so wierd! I've applied it to just the lower half of the body, and only the left leg moves. So I have to do it globally, which is why I can't split it up.

I've checked the limb heirarchy. It SHOULD work!!!!

I can see the code, it has to work, everything's typed in perfectly!
This piece of code should make both legs move...it doesn't, just one!
if upkey() = 1 and MoveMode <> Move_Walk and downkey() = 0 and rightkey() = 0 and leftkey() = 0 :`Set the Spine limb (with NO children) to Walk
EnAn_oacAnimTransition oacID, Limb_ThighRight, An_Walk, 0, 0, -1, transTime, DoLoop, IncChild :`Set the Right Thigh limb (with ALL children) to Walk
EnAn_oacAnimTransition oacID, Limb_ThighLeft, An_Walk, 0, 0, -1, transTime, DoLoop, IncChild :`Set the Left Thigh limb (with ALL children) to Walk :`Set the Spine1 limb (with NO children) to Walk
MoveMode = Move_Walk :`Set Move mode to walk
`If there is no action happening on the upper body, then it is ok to set the upper body to walk too.
if ActionMode = Action_None
EnAn_oacAnimTransition oacID, Limb_Spine1, An_Walk, 0, 0, -1, transTime, DoLoop, IncChild :`Set the Spine2 limb (with ALL children) to Walk
Endif
endif