Затык начинается как раз из-за того, что происходит полная зачитка в кэш таблицы, т.к. параметр fetchAhead (второй) стоит в true. Хотя при выделении все помеченные записи обычно уже в кэше, кроме случая "Выделить все" (кнопка вверху слева).
Предлагаю следующее решение: на FormDatasource есть метод defaultMark(), возвращающий true в случае выделения через кнопку. Тогда метод можно переписать так:
X++:
c = _fds.getFirst(1, _fds.defaultMark());