The first problem seems to be this one: Issue 2229: Calendar: Deleting one instance of a recurring event (excluding), results in duplication of it.. As it seems, the calendar provider doesn’t add an EXDATE when deleting a single occurence, but adds another event with STATUS: CANCELLED.
This behaviour is controlled by the calendar app/provider and not by DAVdroid. DAVdroid just gets two events from the calendar provider and so it syncs the two events.
Couldn’t reproduce the second problem. I did exactly as you said – EXDATE was set by MyKolab and then the event disappeared in the calendar as expected. I guess that’s because you’re using the default Android calender app while I use the pre-installed Samsung S Planner app. I think this problem is an instance of Issue 21426: Support for complete EXDATE format in recurring events in Calendar / pim.
Basically, this is an Android bug again. In this case, DAVdroid could provide a workaround by rewriting EXDATE to a format that the Android calendar provider understands. I have opened an enhancement issue for this, see #82
I built it myself and tested it. I’ve found another error. I tested the following cases:
Create an event at ownCloud, sync it to the phone, edit it at the phone and sync it back: works
Create an event at my phone, sync it to ownCloud, edit it there and sync it back to my phone: works
But: If I create an Event at KOrganizer it will be synced correctly to ownCloud and my phone. If I edit it at my phone and sync it back to ownCloud nothing happens. There is still the old ical generated from KOrganizer.
Edit: It doesn’t work on non-recurring events too, I will open up a new issue: #103.