Musíte seskupit podle části měsíce a roku ad.xDate. V roce je pouze dvanáct měsíců a měli byste vidět první dva (14 - 2) měsíce svých výsledků s příliš vysokými součty, protože ve skutečnosti představují kombinaci dvou kalendářních měsíců.
Ve vaší původní verzi to fungovalo, protože každý měsíc má více než 14 dní. Pokud jste se pokusili prodloužit tento starý dotaz na více než 31 dní (nebo 28, 29, 30 na několik měsíců), pak znovu najdete stejný problém.
...
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