Auf jeden Fall scheint mir das kein Fehler von Visio, sondern "as designed" zu sein:
Zitat:
Im vorherigen Codebeispiel hatten der vorhandene Shapetext und die Zeichenfolge, mit der dieser ersetzt werden sollte, die gleiche Zeichenanzahl. Beachten Sie auch, dass die LINQ-Abfrage den Wert des letzten untergeordneten Knotens des zurückgegebenen Elements ändert (in diesem Fall des Textknotens). Auf diese Weise wird eine Änderung der Einstellung des cp-Elements vermieden, das ein untergeordnetes Element des Text-Elements ist.
Es kann zu Dateiinstabilität kommen, wenn Se den Shapetext programmgesteuert durch Überschreiben aller untergeordneten Elemente des Text-Elements ändern. Die Textformatierung wird wie im oberen Beispiel durch cp-Elemente unter dem Text-Element in der Datei dargestellt. Die Definition der Formatierung ist im übergeordneten Section-Element gespeichert. Wenn diese zwei Informationen nicht übereinstimmen, kann die Datei ein unerwartetes Verhalten aufweisen. Visio behebt zwar einige Inkonsistenzen, Sie sollten jedoch selbst sicherstellen, dass alle programmgesteuerten Änderungen konsistent sind, damit die Datei das erwartete Verhalten aufweist.
von hier