Thanks for your detailed descriptions. I prepared a commit that needs some testing. Instead of using a boolean I've added a new List 'unchangedEntries' to prevent those entries form ending up in 'toDelete': https://github.com/Flowdalic/Smack/commit/f1f7713513cf0662e56416407843c984f8f2b8 b6
Those changes are included in todays snapshot of Smack and aSmack. It would be greatly appreciated if you could test those and report back if the issue is solved. Thank you.