Rather than flipping your image, you could try applying a transform to your layer object. Something like:
self.transform = CATransform3DMakeScale(-1, 1, 1);
This may be better for performance too; if the sprite needs to walk in the opposite direction, you can just set your transform back to CATransform3DIdentity rather than allocing a new image and rotating it.