Попробуйте так, т.е. передавайте не Array, а COMVariant:
X++:
ComVariant varArr;
Array arr;
;
arr = new Array(Types::String);
varArr = ComVariant::createFromArray(arr);
OO = new Com('com.sun.star.ServiceManager');
OD = OO.CreateInstance('com.sun.star.frame.Desktop');
Doc = OD.LoadComponentFromURL(TemplateName, '_blank', 0, varArr);
Необъявленные переменные имеют тип COM