Du måste gruppera efter både månad och år delar av ad.xDate. Det finns bara tolv månader på året och du bör se de tidigaste två (14 - 2) månaderna av dina resultat med summor som är för stora eftersom de faktiskt representerar en kombination av två kalendermånader.
Det fungerade i din ursprungliga version eftersom det är mer än 14 dagar i en månad. Om du försökte förlänga den gamla frågan utöver 31 dagar (eller 28, 29, 30 under några månader) så hittar du samma problem igen.
...
SELECT
'playing' As activity,
min(ad.xDate) As xDate,
Isnull(sum(t.TimePerDay), 0) As TimePerDay
FROM AllDates As ad Left Outer Join @test As t On ad.xDate = t.date
GROUP BY Year(ad.xDate), Month(ad.xDate) /* <--- change here */
ORDER BY xDate