スクリプトで プレハブを更新すると シーンのオブジェクトの座標が原点になってしまいます。
どうすればいいでしょうか?

オブジェクトを原点に配置して A.prefab を作りました。
これを 複数D&Dし、 適当に配置して シーン B.unity をセーブしました。
  
スクリプトで A.prefab を更新しました。座標は原点のままです。
シーンファイル B.unity をロードしてみると、
配置したオブジェクトがすべて原点になってしまいました。
オブジェクトとプレハブとはヒモ付いていて、文字の色は青くなっており。物は更新されています。
B.unity のソースを開いてみると m_LocalPosition の値は持っています。
これを読み込む段階で更新したプレハブだとトランスフォームの値が無視されて原点になってしまうのです。

プレハブを更新する時に使ったスクリプトはこんな感じです。

string pt = "Assets/Prefab/A.prefab";
GameObject pPrefab = AssetDatabase.LoadAssetAtPath(pt, typeof(GameObject)) as GameObject;
PrefabUtility.ReplacePrefab(obj, pPrefab);