Проблема в конце вашего запроса, когда вы пытаетесь объединить целочисленное значение, вам нужно преобразовать его в varchar ...
declare @TaxYear VARCHAR(50)
set @TaxYear='13'
declare @BBL VARCHAR(50)
set @BBL=''
declare @Appartment VARCHAR(50)
set @Appartment=''
declare @ResidenceTypeDescription VARCHAR(200)
set @ResidenceTypeDescription=''
declare @SN1 VARCHAR(20)
set @SN1=''
declare @SN2 VARCHAR(20)
set @SN2=''
declare @Status VARCHAR(100)
set @Status='Unassigned'
declare @RowIndex INT
set @RowIndex=1
declare @MaxRows INT
set @MaxRows=25
declare @SortExpression varchar(50)
set @SortExpression='bbl desc'
declare @sql varchar(max)
DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = @RowIndex
SET @EndRow = ( @StartRow + @MaxRows ) - 1
set @sql=
'SELECT *
FROM ( SELECT * ,
ROW_NUMBER() OVER ( ORDER BY '+@SortExpression +') AS ROW
FROM vwApplicationList
WHERE TaxYear = '+@TaxYear+'
AND Status = '+@Status+'
AND REPLACE(BBL, ''--'', '''') LIKE ''%' + @BBL
+ '%''
AND COALESCE(UnitOrAppartmentNumber, '''') LIKE ''%'
+ @Appartment + '%''
AND COALESCE(ResidenceTypeDescription, '''') LIKE ''%'
+ @ResidenceTypeDescription + '%''
AND ( COALESCE(SN1, '''') LIKE ''%' + @SN1 + '%''
OR COALESCE(SN2, '''') LIKE ''%' + @SN2
+ '%''
)
) AS NumberedUsers
WHERE ROW BETWEEN '+ Convert(varchar,@StartRow)+' AND '+Convert(varchar,@EndRow)
exec (@sql)