вопросек по unidac, на версии 7.4 работал хорошо динамический запрос внутри query, перешёл на версию 8, стал выдавать- скрин
попробуй проверить на гарантированном запросе, который возвращает как минимум 1 строку, например
declare @ST nVARCHAR(max)
set @st='select 1 as a'
EXEC sys.sp_executesql @St
Есть предположение, что появился контроль пустоты результата запроса(если да, то вероятно свойством True/False). Увы, большее сказать не могу - под рукой только Лазарь в базовой комплектации :)