В данном случае вам достаточно будет сделать
X++:
_ds.reread();
_ds.refresh();
т.к., Вы обновляете текущий курсор на таблице. Будет работать намного быстрее.
p.s. А с research(true) нужно вообще быть аккуратнее. Вот
тут Иван объясняет что это не аналог findRecord. Ищется не конкретная запись в гриде, а позиция.