Интересно. Видимо второй (и последующие) вызов метода item() натыкается на какой-то мусор, оставшийся после первого вызова. А вызов info() каким-то образом подчищает этот мусор.
В качестве workaround могу предложить позиционироваться на ячейке при помощи метода offset:
X++:
static void checkExcell(Args _args)
{
FilePath path='';
container conFilter = ["Файл (*.xls)", "*.xls"];
SysExcelApplication exappl;
SysExcelCells excells;
SysExcelWorksheets exsheets;
SysExcelWorksheet exsheet;
SysExcelCell excell; // fix
int row;
real a,b;
;
path = WinAPI::getOpenFileName(0,conFilter,"", "Укажите файл ",'',"");
if (!path) return;
exappl = SysExcelApplication::construct();
exappl.workbooks().open(path);
exsheets = exappl.workbooks().item(1).worksheets();
exsheet = exsheets.itemFromNum(1);
excells = exsheet.cells();
excell = excells.item(1,1); // fix
for(row = 1;row<3;row++)
{
//a = excells.item(row,1).value().double();
a = excell.offset(row - 1, 0).value().double(); // fix
//info(strfmt('%1',a)); // строка 1
//b = excells.item(row,2).value().double();
b = excell.offset(row - 1, 1).value().double(); // fix
info(strfmt('%1',a)); // строка 2
info(strfmt('%1',b));
}
exappl.quit();
}