1) Могут ли Cnt и Disabled переменные содержать значения NULL?Если это так, измените условие для
if (:cnt IS DISTINCT FROM :disabled) then ...
2) Убедитесь, что вы совершаете транзакцию после запуска SP.
3) Убедитесь, что транзакция, для которой вы выбираете данные, являетсяне SNAPSHOT транзакция.Если это так, передайте и снова откройте его перед выполнением запроса SELECT.
4) Перепроверьте логику вашей процедуры.
5) Запускаете ли вы свою процедуру в отладчике IBExpert?