Нашёл причину: если в качестве модели таблицы выбрана QSortFilterProxyModel, то сортировку отключить нельзя. Если просто - QStandardItemModel, то сортировка отключается нормально или даже выключена по умолчанию.
Нет, не то, всё одно непонятно. Повесил свой класс производный от QSortFilterProxyModel и перехватил QHeaderView::mousePressEvent(event) сортировка вообще перестала работать, причём почему-то даже изначальный порядок строк искажён. Кто что посоветует?