Прежде всего, чтобы ваша арифметика дат работала независимо от языка и региональных настроек на вашем сервере, используйте формат ISO-8601 YYYYMMDD
для дат.
В этом случае вы должны иметь возможность сделать что-то вроде:
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
-- this assume @Anno and @Mese are already VARCHAR variables!
SET @StartDate = CAST(@Anno + RIGHT('00'+@Mese, 2) + '01' AS DATETIME)
SET @EndDate = DATEADD(MONTH, 1, @StartDate)
и затем в предложении WHERE используйте:
WHERE FinePeriodo BETWEEN @StartDate AND @EndDate
Может ли это работать на вас?