Media.SyncDelegate and Communications.SyncDelegate should have the same behaviour. The Media.SyncDelegate is marked as 'deprecated' and therefore I moved the app to the Communications.SyncDelegate version. This caused the syncs that are started automatically (e.g. during charge) to BLOCK the charging and remain at 0% progress.
The complete set of issues:
For Media.SyncDelegate: the Sync process can only be started automatically (e.g. during charge) or through the ConfigureSyncView (which is quite impossible to find for new users). Media.startSync() will open the ConfigureSyncView instead of actually starting the sync. Additionally, the class is marked as deprecated.
For Communications.SyncDelegate: the Sync process can be started from anywhere using the Communications.startSync() (which is good!). However, the automatically called syncs (e.g. during battery charge) will fail: the notifyProgress() function does not work anymore, the progress will remain at 0% and the battery charging is interrupted (or severely limited). The sync is performed in the background though, but the sync view is never updated and remains at 0%.