Имя поля (Year) совпало с именем функции year(), что и вызывает проблемы
Advanced query range value expressions: поле таблицы - имя вcтроенной функции year().
Если надо только 2 условия, то можно для первого использовать fieldNum(), а для второго global::filedIdExt().
Т.е. для второго условия как для первого элемента поля-массива. Идентификаторы получатся разные и это интерпретируется построителем как разные поля. Соответственно, объединение через AND
PS: По приведенной тобой ссылке есть пример с алиасами полей в условии (%1.%2 < %3) попробуй этот вариант решения