I think it's a bug. Same thing happened to me and I managed to fix it.
- In Calendar->Preferences->Accounts, disable the iCloud account (there's a simple tickbox). All the iCloud calendars will disappear from Calendar's list.
- Now create a new calendar, and it will appear "On My Mac". Make sure that the new calendar does not have the same name as any of your iCloud calendars, to avoid Calendar being tempted to merge them later.
- Go back to the preferences and re-enable iCloud. All the iCloud calendars will reappear, and your File->New Calendar menu should now give you the choice of creating in the cloud or locally.
Somehow it got stuck and forgot about the On My Mac choice at installation time, but it seems OK now.
Thank you very much for trying to help. In fact, what you recommended did help in iCal, but when I went to try to do the same thing in Reminders - when I reticked the box, it moved my 'on my mac' reminder list to iCloud! Dohhh! I am only doing this to get on my mac reminders lists for omnifocus to sync to so that I can have a better view of how my time/tasks and appointments stack up over the coming month! The best laid plans etc etc
However, I think the problem may somehow involve busycal, and the guys there are really being very helpful in trying to solve it.
I do have Busy Cal..and realise it does work far better than iCal or ML Calendar. It's what iCal used to be!!!!
I created a local "ON MY MAC" Calendar in BusyCal and recreated all my Automated scripts and private events. I can think of 3 great reasons why you would WANT to have a local Calendar that does NOT sync.
Mostly for people who run businesses, have complicated lives and are not "Susie homemakers"...that would be mostly people who are not still living in the 1950s.
Thanks Apple for treating us like children with your uber constrictive downgrades of software!!!