Я всегда использую ренэйм, проблем нет с изменением ключевых полей нет.
Просто нужно отгетить таблицу по этому ключу, а сам ренэйм проводить на таблице через другую переменную.
например:
IF NOT Tab1.GET(Type,"No.") THEN ...
RENAME(Type,"No.");
MODIFY;
Мелькающее при этом окошко "Идет подсчет записей в таблицах ...." не смущает?)