I had the same problem, and JUST figured it out. First of all, if you saved your iCal data as an iCal archive, it won't work with iCloud syncing. However, it will get you to a solution. Follow these steps and everything should work:
1. Turn off any Internet connection. If you don't, iCloud will keep deleting it.
2. Restore your iCal data with the iCal archive you'd saved.
3. Next, for each calendar you have, select it, then select File>Export>Export... and save each calendar you want to sync back to iCloud individually. If you want to restore tasks, you have to do the same with each task list. It seems you have to have different names for task lists and calendars, so make sure you know which one is which.
5. Turn on your Internet connection again. Go to iCloud.com to see what's on the calendar.
4. If you have any data left in iCloud, I would delete it to start fresh. After this is done, make sure you have created the calendars and task lists you want.
5. Start up iCal. When it syncs with iCloud, everything will disappear again, but this is ok. Make sure you have the same calendars and task lists as are on iCloud.com.
6. Double-click on each saved calendar and task list .ics files and match them to their respective calendars and task lists that you want to sync. iCal should now import and upload the data to iCloud correctly. You don't have to wait for each calendar to fully upload--you can do them sequentially and they'll all upload sequentially.
Hopefully this should work for you. If you are using a third party task manager as I was (which somehow caused the duplicates as far as I know), I ended up deleting and reinstalling the app and resetting the sync from scratch, getting all the data from iCloud. With a little tweaking, everything is back to normal. Whew!
Hope this helps.
John