You are using XNA, right ? I haven't use it in a long time, but I think you can pass "SpriteEffects.FlipHorizontally" as one of the parameters of the SpriteBatch.Draw() function.
But that wouldn't be enough, you still need to modify your sprites' position, anchor point and rotation values every time you flip your sprites.
position =new Vector2 (-position.x, position.y); //edit: it depends on how you manage each bone's position
anchorPoint = new Vector2 (1 - anchorPoint.x,anchorPoint.y);
rotation = - rotation;
PS: I'm bad at C#/XNA
Thanks for the post. You were close. With Your post and an XNA book I found the answer.
And here's what I got done:
http://www.youtube.com/watch?v=HHfeoJ3p7rw&feature=youtu.be

