In thunderbird, cloud calendars are synchronized periodically. This is fine to get synchronized to a calendar modified by another way than Thunderbird. But not to synchronize the cloud when a calendar is modified by Thunderbird itself. When, for example, an appointment is added to such a calendar on Thunderbird, it will be synchronized on the server only next time Thunderbird is fully synchronized. This can be too late, for example if the computer is suspended before the moment when Thunderbird is synchronized. What calendar applications usually do is to get synchronized when started, then periodically, and as well when the calendar is changed. This last synchronization event lacks on Thunderbird. The workaround is to synchronize it every minute, so that the probability of failure is low, but the best would be to synchronize it (even optionally) each time a change is made to the calendar. This is what other calendar software do (see OneCalendar for example).
Best regards.
MGR.