Попробуйте использовать матрицу преобразования на объекте Graphics
вместо использования RotateFlip
на изображении. Переворот эквивалентен масштабированию координат X или Y на -1. Вы можете предварительно вычислить одну перевёрнутую матрицу и использовать ее в любое время:
Matrix flipX = new Matrix();
flipX.Scale(-1, 1);
graphics.Transform = flipX;
// Draw your sprite here
graphics.ResetTransform();
Обратите внимание, однако, что вам придется передавать измененные координаты при рисовании, например. используя вышеупомянутое преобразование, вам нужно будет передать ContainerWidth - X
вместо X
.