Hi their,
I have build a custom "Suggest a Event" form, their was lot of issues with building this page but finally I was able to build this page which allows anonymous users to post an event to the calendar referencing only the particular module, but before building this first I setup the moderate functionality for all events that way any event posted by anonymous user is automatically moved to the moderate flag and does not shows up on the live calendar unless some moderator approves the event.
This can open up a security issue so don't apply this unless your client requires it specifically.
For me it was just one calendar, so I didn't have an issue of not displaying on other calendar the "Suggest a Event" link.
I also added additional fields Custom3-Custom12 and this surely added extra frustration when the vs build kept failing and it has taken me lot of work in overwritting the EventSave function and other files that needed modification like DataProvider, EventController, EventInfo and related other ones...
I did not recorded everything I did but I know it works so hopefully if you like to try it out then i am sure you can accomplish it.
~Wasay
http://blog.wasay.net