Вероятно това е така, защото в случая с параметри оптимизаторът не може да знае, че стойността не е нула, така че трябва да създаде план, който връща правилни резултати, дори когато е такъв. Ако имате SQL Server 2008 SP1, можете да опитате да добавите OPTION(RECOMPILE)
към заявката.