The format will not be exactly as you described. But this would be a normal way to show the result and all information has been included, make sure you do not display more than 1 year at a time.
Try this:
;WITH x AS
(
SELECT TBL.CATEGORY, TBL.ROW_ID, datename(month, TBL.CREATED) month
FROM
MYDB.TBL
WHERE
TBL.FIELD1 = 'something'
AND TBL.FIELD2 = 'somethingelse'
AND TBL.CREATED >= '2014-01-01'
AND TBL.CREATED < '2015-01-01'
)
SELECT CATEGORY as 'Category Name', [January],[February]
FROM x
PIVOT(
count([ROW_ID])
FOR month
in([January],[February])
)AS p