What happens in your query is that the join doesn't result in any matches.
In your sample the DateList shows wednesdays, where the temp subquery results in mondays. You can verify this by changing the @CurrentDate into a monday. For example:
What you need to do is, that you convert your DateList to mondays as well. Like this:
WITH DateList AS
SELECT DATEADD(WEEK, 0, DATEADD(WEEK, DATEDIFF(WEEK, '19000101',@CurrentDate), '19000101')) AS CreateDateTime, 1 AS Cnter
SELECT DATEADD(WEEK, -1, CreateDateTime), DateList.Cnter + 1
WHERE DateList.Cnter < 5
I couldn't fully tests the solution, because I don't have data available. But this should work.
Aside from this solution there might be another thing you might look at. In the temp subquery you have the following where-clause
BETWEEN DATEADD(DAY,-30,@CurrentDate) AND @CurrentDate
You select 30 days. But in your DateList you have 5 weeks, which is 35 days. This might result in incomplete data in the oldest week. But that actually depends on the objective you want to achieve with this query. Also when you want to use this query to get historical data, you might want to change the where clause into the following to ensure that the whole youngest week is covered (the join would filter the week you don't need).
BETWEEN DATEADD(DAY,-35,@CurrentDate) AND DATEADD(DAY,7,@CurrentDate)