Would it be possible to change the delete method in such a way that instead of deleting records / rows / entities it sets the IsDeleted column to true?
You mentioned "that's how I may do it" would you have a better idea?
Instead of doing a delete do an update.
If you are going to save modified entities, with some entitied logically deleted (marked as deleted with the IsDeleted property/field), those entities would be saved to the database too with the field IsDeleted modified with the correct values, therefore there is no need for a delete method at all.
The difficultie here is that my old collection is already databound to some controls so I would have to update the old collection and not copy it to the new one.
That's a coding problem, not a logical one, so either you re-bind to the new collection after mixing it with entities from the old collection, or don't bind it and copy the entities back to the old collection after clearing it (ie. 1- copy entities from old collection to the new one - 2- clear the old collection - 3- copy all entities back to the old collection)
Another point is what would I do with the delete entries in the ChangedCustomers collection? Could I set entities in the Customer collection to deleted and then IsDirty false so that LLBLGen won't try to persist the deletions again to the database the next time the client saves changes?
After mixing entities from both collections, you can now remove entities with IsDeleted = true from the collection to be binded and yet saved later to the database.