Повторил приведённый код, ошибок нет, работает, возникло лишь предположение - обычно не напрямую с открытой книгой работают, а с её копией, вместо
Код:
...
XL.WorkBooks.Add(path);
...
лучше добавить
Код:
var
Workbook: OLEVariant;
...
Workbook:= XL.WorkBooks.Add(path);
и работать уже с Workbook, мож слишком большой кусман оперативки берёт на себя оригинал