происходит то же, что и всегда - MSSQL, динамический курсор, доступ по некластерному индексу
см.
while select зацикливается на одной записи
в качестве одного из вариантов решений - добавляйте
..
where RContractAccount != ""
либо создайте кластерный индекс
либо инициализируйте код сразу при импорте
и т.д.