Lisa and others,
After having to deal with this for multiple different clients who were having trouble after the original MobileMe shift to CalDAV, here's what I discovered worked:
I used BusyCal from busymac.com. You can download the 30 day trial and use it for this.
I exported each calendar (using File / Export - *not* create a calendar archive), and then I went to BusyCal and did File / Import (you may also try dragging and dropping the exported .ics file from your Desktop over to the MobileMe/iCloud calendar, or it may ask if you want to import and create a new calendar. It's been a while so I don't remember).
I did a Calendar Archive export as well, for good measure, but after I exported each calendar as an .ics file, I deleted everything from iCal and made sure the data was completely removed from the cloud before I started the re-import process.
For whatever reason, BusyCal was able to bypass the limitations that iCal had not being able to import certain events.
In addition to this, you can also try iCal Cleaner, one of the utilities from BusyMac's site, as someone mentioned above, but that didn't always work for me.
I found that BusyCal was able to take years of data from one client (about 9 years worth of calendar data) and successfully merge it to the cloud without incident.
Then I was able to have them return to iCal after the syncing was completed (BusyCal actually has a sync icon that will stop spinning when it has successfully uploaded everything).
Once your data has been uploaded successfully, you should not encounter further issues with the CalDAV setup. It works great.
Hope that helps!
Erik