Если у вас A() всё равно возвращает NaN, значит одно из значений возвращается как NaN при сравнение оно не равно ничему и будет возвращаться функцией — проверьте содержимое массива и значение context.controls.FormComboBox.getValue().Code
function A() {
	var a = context.parameters.FormOfFinancialStatement.getValue();
	if (a != undefined) {
		for (var i = a.length - 1; i >= 0; --i) {
			if (a[i].FormOfFinancialStatement.Code != context.controls.FormComboBox.getValue().Code) return i; 
		}
		
		return -1;
	}
	
	return true;
}