I used behaviour to mirror them and I create the joints in the front view, the model was fairly two dimensional so I didn't have to move them.Looks like joint flipping, your joint orientations must be wrong, are you mirroring the joints, what settings are you using if you are?
Also how are you creating the joints. Do you just create them in side view and then use the insert key to adjust the position? if this is the case its likey you will get incorrect joint orientations, there are a few scripts out there that handle joint orientations for you while allowing you to easily modify joint positions/ Otherwise the safest way to edit your joints is to adjust the local translate x only to define the length of a bone and then use the joint orientations attributes in the attribute editor to change the orientation. Using the insert key to move joints just changes the translate position but doesnt update the orientations.
Its probably best to use the behaviour function of the mirror joints tool as it will keep the x axis along the joint, if you use the orientation function it will not keep the axis in line with the joints at all, it keeps the orientations as they where and just moves the joints.
Also use a polve vector constraint if you aren't already to keep the transforms in check .