Все копии QSqlQuery разделяют общее состояние.
Внутри setQuery происходит копирование запроса и заполнение модели, что приводит к изменению состояния и исходного объекта, т. к. изменилось их разделяемое состояние.
Вообще-то это протекание абстракции и либо должно быть исправлено, либо описано в документации.
На это намекает дока по setQuery, где написано, что запрос должен быть активным...
Т. е. твоя проблема решается заведением второго объекта запроса (не копированием).