I would have done it like this but its the same thing really. I tested this code and it works (I use it), I haven't used those functions (year() and monthname() ) in MySQL before Briask are they commonly used?
Code:
SELECT DATE_FORMAT( `event-date` , '%M %Y' ) , COUNT( * )
FROM `events` WHERE `userid` = '1'
GROUP BY DATE_FORMAT( `event-date` , '%M %Y' )
ORDER BY DATE_FORMAT( `event-date` , '%M %Y' );
On a side note working these kind of things out is the best way to learn mysql I hope you had a go at it before asking here.