Du skal gruppere efter både måned og år dele af ad.xDate. Der er kun tolv måneder af året, og du bør se de tidligste to (14 - 2) måneder af dine resultater med totaler, der er for store, fordi de faktisk repræsenterer en kombination af to kalendermåneder.
Det fungerede i din originale version, fordi der er mere end 14 dage i en måned. Hvis du forsøgte at forlænge den gamle forespørgsel ud over 31 dage (eller 28, 29, 30 i nogle måneder), så finder du det samme 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