Нет не пробовал, но
X++:
if (RecordSortedList.find(tmpTable))
RecordSortedList.del(tmpTable)
до del() даже не доходит, при условии что RecordSortedList содержит одну запись.
По идее find() все равно, что запись одна. Курсор тот же самый. Что не так, не пойму?