Для range не нужно отслеживать, он сам формирует открытый диапазон 01.01.2001.. или ..02.02.2002, а также пустой (все записи), если даты не заданы. Достаточно просто строки qbr2.value(SysQuery::range(fromDate,toDate)); без всяких условий.
Информацию можно почерпнуть в исходнике SysQuery::range()