Zmień
select 1 as counter, @maxDate as Date
do
select 1 as counter, DATEADD(day,1,@maxDate) as Date
Aby to uprościć, zmień CTE
;with GetDates As
(
select DATEADD(day,1,@maxDate) as TheDate
UNION ALL
select DATEADD(day,1, TheDate) from GetDates
where TheDate < @curDate
)
...