Я думаю, что концепция, к которой вы стремитесь, - это звук.У меня есть только одна проблема, и, возможно, я слишком много читаю в твою формулировку.
Звучит так, как будто вы ожидаете не выполнять метод WriteXml, если флаг изменения экземпляра не установлен.Если я правильно понял, я думаю, вы обнаружите, что полученный файл не будет содержать неизмененных настроек.XmlSerialization - это все или ничего, он не может обновлять определенные части файла.
Поэтому я думаю, что ваш флаг полезен для определения необходимости сохранения или нет, но если вы решите, что нужно сохранить данныевам нужно сохранить всю структуру.В этом случае нет необходимости реализовывать IXmlSerializable для каждого класса, если только у вас нет особых требований к сериализации, которые не могут быть выполнены иначе.