It appears that if you create an event on the 31st of the month, in a month that has 31 days, July for example and set the repeat to 'monthly' the event does not appear in months with only 30 days.
Of course this brings up an interesting point: A month from July 31st is August 31, no problem there. Now what happens when we get to September (only 30 days)? Should the event appear on September 30 or October 1?
A case for the use of OS X Feedback I think. In Custom repeat, you can select the last Monday, Tuesday etc of the month - it would make sense to add an option for the last day of the month. This would deal with Feb 28th/29th as well.