I don't know the previous discussion, but the Delete() procedure respects the referencing, i.e. it automatically calls UniqueString().
If necessary, you can test if StringRefCount(s)=1.
Or do you want to change all referenced strings at once with a single Delete() call?