Why does iCal forget the calendars?
Make sure that in your iCal settings all of the boxes about deleting past events are unchecked. 

Also, if you have numerous devices' calendars syncing to your Mac/iCloud, make sure that in each device (i.e. iPad, iPhone etc) under calendar settings the "delete events older than..." are disabled.