Das beschriebene Verhalten riecht so stark danach, daß dort kein Name.Canonical, sondern ein Name.Abbreviated angewendet wird, daß es zum Himmel schreit.
"Nach einem händischen Abspeichern funktioniert alles wieder" ist deutlichstes Indiz für diese Vermutung.
In dem Script kann man mindestens ja einmal ein ComputeWithForm nachbauen, wenn es den Scriptautoren schon nicht möglich ist, die Namen in richtiger Form selbst hineinzuplatzieren.