ad.xDate の月と年の両方の部分でグループ化する必要があります。 1 年は 12 か月しかなく、結果の最初の 2 (14 - 2) か月の合計が大きすぎます。これは、実際には 2 つの暦月の組み合わせを表しているためです。
どの月にも 14 日以上あるため、元のバージョンでは機能していました。古いクエリを 31 日 (月によっては 28、29、30 日) を超えて延長しようとすると、同じ問題が再び発生します。
...
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