Probablemente se deba a que, en el caso de los parámetros, el optimizador no puede saber que el valor no es nulo, por lo que necesita crear un plan que arroje resultados correctos incluso cuando lo sea. Si tiene SQL Server 2008 SP1, puede intentar agregar OPTION(RECOMPILE)
a la consulta.