Что имеется в виду под формой с автодобавлением?
Записи во временную таблицу вставляются через форму, затем из формы по кнопке запускается класс, в который на new() передается эта таблица. Далее она сохраняется внутри класса простой операцией присвоения tmpTable = _tmpTable; , затем делается инициализация выборки: select tmpTable;
После этого запускается метод, перебирающий записи командой next. Все.
Ура! Не успел отправить ответ, а когда вспомнил - уже разрешилось

Дело было как раз в присваивании. Если сделать не "=" , а setTmpData() - все работает правильно. Но интересно то, что в указанном мной выше системном классе тоже использовалась именно операция присваивания! Но там на момент запуска класса уже не было связи таблицы и datasource, т.к. форма к тому моменту закрывалась. А у меня вызов происходит из самой формы -> связь с DS присутствует. Видимо, в этом и было дело.