Как-то поднимал на форуме тему по поводу того, что класс хистори (по сути, массив) неправильно запоминает состояние картинки (матричные трансформации)
Оказывается, нужно было запоминать клоны матриц этих, и применять к объекту тоже клоны сохраненных в хистори матриц (во второй части я не уверен)
ссылка на тему
http://www.flasher.ru/forum/showthread.php?t=148627