Thanks for your help.
To answer your question. I have made no modifications to SplendidCRM.
I even setup a new version of Splendid on another server just to make sure that there wasn't some setting that I had messed up.
The version in the About page says: Version 4.2.0 Build 1.2.2439.20213
The outlook add-in About Dialog says: 1.0.2436.2475
The only thing I can think of that I changed was the registry settings for loading the Add-In. When installing the Outlook Add-in, it didn't load at first. I have quite a bit of VSTO experience so I took a look at the registry and noticed that there was no key under \Software\Microsoft\Office\Outlook\Add-Ins for anything that said splendid. So I used Orca to take a peek at what reg keys your MSI wanted installed and entered them in manually. This worked great and the Add-In has been working great except for this problem. I thought I should mention this as it might help, but since I didn't see any reg keys that seemed to have anything to do with calendar sync, I assume that this wouldn't have any bearing on this problem.
When you click the "Sync Calendar" button on the Splendid Toolbar in outlook, the pop-up dialog says:
...
Sending Appointment 2 to CRM
Sending Appointment 1 to CRM
0 Appointments exist in CRM; 62 are new, 0 are modified 31 were modified in Outlook, 0 are in conflict.
Retrieving relationships from CRM...
Connecting to CRM...
Then after it's done, I get the following error in a MessageBox:
Void SyncCalendar(Boolean) Line 1976.
Item has already been added. Key in dictionary: '' key being added: ''
Not having the source code to the Add-In, I have to guess at how you implemented sync of calendar items, but I did happen to notice while browsing the data in the Meetings table that the "OUTLOOK_ID" column is null for every single row.
I assume that the add-in is calling into \soap.asmx to do its calls, but I haven't dug through there to trace the code and figure out what is going on.
Could you tell me a little more about how Calendar Sync'ing works? I might be able to troubleshoot this on my own.