Задал вопрос, пошёл покурил, подумал... И вроде нашел в чем проблема=)
Поменял в методе расчета 2 строчки местами и все стало ок. Как было:
m_resultWindow->setSourceModel(m_pTableModel);
m_resultWindow->setResultRow(resultRow);
m_resultRow - что это и откуда?
Тут хранятся индексы строк, которые выкинула основная модель в качестве подходящих.
Так же довольно интересная функция rowCount. Зачем тебе проверка на Empty, если size() всёравно вернёт 0???
Это я уже отчаяния.=)
Но нашёл ещё один баг. Во время редактирования ячейки основной таблицы нажать на "Посчитать", то если пользователь не нажал на Enter, то в выходную таблицу может попасть строка с неправильными данными. Как при нажатии на "Посчитать" сначала закрыть редактор ячейки, отослать изменения и уже потом начать считать?