Все переделанные классы CCADO имеют значение RunOn = Server. Класс, в котором выполняется обработка также имеет значение RunOn = Server. Вызов класса-обработчика выполняется через статические методы с модификатором server.
Так что, уж и не знаю, где еще "server" поставить
PS: На всякий случай проверил, что возвращает RecordSet.CursorLocation(). Он возвращает 2. По документации это
2 = adUseServer - Default, use the cursor supplied by provider or database
Поскольку AOS выступает в роли клиента, то сервер получается - это другой компьютер (база данных находится не там, где AOS). Возможно, действительно в этом причина. Правда, пока не понятно, как это исправить, ведь CursorLocation надо задать до собственно открытия RecordSet.