Ошибка нашлась - в моем примере range на первичный ключ просто добавлялся, а не создавался заново. В результате повторного вызова генерации ссылки - система добавляла range, который естественно срабатывал по ИЛИ.
Код в исходном сообщении исправил, модель и проект перевыложил. Теперь ссылка генерится для каждой записи - своя.
Кстати, посмотреть результаты исполнения запроса можно после открытия формы, если открыть расширенный фильтр: