В MyItem переопределяется mouseReleaseEvent:
void MyItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
} // в общем она ничего не делает.
При запуске программы и при первом перемещении какого либо итема все происходит как надо. Но при повторном нажатии на итем он перемещается в положение в котором был при старте. При закоментировании mouseReleaseEvent проблема исчезает. Так же такой проблемы нет при переопределении других событий мыши. И больше нигде в программе события мыши не переопределяются.
В общем в чем может быть баг?