I think there are TWO issues here
1. The already resolved issue:
This is when everything appears "lost" on the calendar on iPhones when iOS5 is first installed. This includes the + button (to add new events)
This is resolved (thanks to majafromtoronto) by simply turning on calendars in iCloud in the iPhone's settings.
2. The other issue:
After upgrading to iOS5 and iCloud, the calendar on the iPhone no longer shows lots of previously entered iCal "events".
But these are only hidden, not lost, as they appear (sometimes repeatedly!) on the iCloud calendar on the web (iCloud.com/#calendar) and on iCal on any linked Mac running Lion. Although these events no longer appear on the iPhone running iOS5, strangely alarm reminders for these hidden events still work.
As far as I can see this is the problem that Munchiniwa2, Firehouse Design and jessiefrommoonedponds have.
Having tried all the obvious things, (unlinking the iPhone calendar from iCloud then turning it back on again, syncing the iPhone calendar via iTunes - see above) I've just stumbled on the solution:
On iPhone go to "settings" then "mail, contacts, calendars" (NOT iCloud!). Scroll down to Calendars. 2nd item is "Sync" which for some unknown reason was set to "events 1 month back". Change to "All Events" All your events will reappear and will be well in the world again.
Or at least until you discover that iCloud has stopped syncing and really lost half your Address Book 😮😠😮😟