По хорошему uri нужно записывать как uri.buildUpon().appendQueryParameter(«caller_is_syncadapter», «true»).build(), в противном случае, мы, например, контакты не удалим, а просто пометим для удаления.
В свою очередь был неприятно удивлен тем, насколько дополнительный подзапрос при выборке всех контактов тормозит весь процесс.
Например, выборка в курсор 300 контактов с подзапросом в отдельный курсор из Data.CONTENT_URI (выборка ника по типу аккаунта) на htc hero заняла секунд 7-10.
Основы Contacts API в Android