Hi Red Ed, Hi all,
Quite long time ago, I noticed this problem too, and many others. I have also spent a long time trying to solve it.
Many authors have also reported those problems. Here are some posts I noticed (but they are closed):
First of all, exporting the Mac Calendar data as a .icbu archive for backup purpose leads to a deception: when importing it back, it is no longer possible to search the calendar for any event. Instead, exporting each calendar as a .ics file (iCal format) works great: when each calendar is imported back into the Mac Calendar application, searching works fine. So, when I backup the Mac Calendar applications, I always use both methods: I export a .icbu archive and a .ics, iCal format, file for each calendar. When I backup the Contacts application, I export a .abbu archive and a .vcf, vCard format v3.0 which can be selected in the application settings, file for each group/list of contacts (and another one for the whole contacts). Please, note that if the Calendar becomes unsearchable, it's still possible to export it as .ics file(s) and import it (them) back to restore the normal behavior (this happened to me... probably many days after restoring a .icbu archive).
Considering all-day events (and multiple-day events, since the problem is the same), I spent a lot of time to reset the Calendar application and the syncing system: it's very difficult to find the right files to delete (data files, caches, syncing history, syncing schemas, etc.), and *very dangerous* to delete them. Of course, this must be done as "root" ("sudo -s" from an admin account) when not logged in as the target user since daemons are rebuilding the caches in the background. I strongly discourage everyone from doing that especially since this was useless for me... or I wasn't clever enough 😉. I suspect that the local (USB and Wi-Fi) sync schema for Calendar is missing or has been broken: iCloud syncing still works (users don't seem to complain but this is not an option for me) but not local syncing.
I reported this bug to Apple through the free feedback form and I also got in touch with Apple support twice: it seems it's a known problem. I was told twice that would be called back but nothing happened...
Under those prevailing conditions, the "Replace all the calendars on this iPhone" option shouldn't be used: as some events pushed to the iPhone are modified, the next sync will lead to their duplication on the Mac.
Fortunately, I have found an alternative solution. I remembered that, long time ago, when I had an Android phone, I used a third-party software, SyncMate, to sync calendars and contacts with my Mac. This application also works to sync many information between Mac et other devices. Among this information, calendars and contacts are included and it works between a Mac and an iPhone. So, I tried to sync my Mac and my iPhone, for calendars and contacts: it works and it works very well!
I have no more problem with all-day (and multiple-day) events and the reminders for those events syncs well, all that in both directions. However, there is a limitation: syncing an iPhone with a Mac can only be done using USB and it's impossible to use Wi-Fi. By now, SyncMate is an Intel only application but it works fine thanks to Rosetta 2 (I have an iPhone 15 Pro and a MacBook Pro / M3 Pro). Of course, I'm still syncing photos, musics, etc. with the Finder that I also use for iPhone backups.
I hope that this solution will help those like me don't want to use iCloud for that purpose... until Apple finds a fix 🙂.