To simplify even more:
SELECT
ActiveProd = COUNT( CASE WHEN StatusID = 1 THEN ProdID END),
InactiveProd = COUNT( CASE WHEN StatusID = 2 THEN ProdID END),
DiscontinutedProd = COUNT( CASE WHEN StatusID = 3 THEN ProdID END),
ProdCountDT = RIGHT( CONVERT(varchar(11),DATEADD(MM, DATEDIFF(MM, 0, CreatedDate),0), 106),8)
FROM #Table_Temp TT
--WHERE dateadd(month, datediff(month, 0, CreatedDate),0) BETWEEN getdate() - 365 and getdate()
GROUP BY DATEDIFF(MM, 0, CreatedDate)
ORDER BY ProdCountDT;