あってます。

わざわざ、検証までしていただき、まことにありがとうございます。
わたくしのほうでも、そのように試しましたら、普通に代入できました。

現在、作成しているソース中において、
849 の 1. に該当するような部分を 2. のように書き換えると代入できたので、
どうしてなのだろう?と思ったからなんです

1.、2. は該当ソース中の変数名を置換しただけだったりします。
外部変数名が重なってないかどうかも、全ソースに対して検索をかけましたが、該当するものがありませんでしたし、
そもそも 1. を 2. に書き換えることで正しく代入されることが奇異に感じたのです。
1. と 2. の処理の結果は同等のはずではなかろうかと思ったのです。

どうすれば、このようなことが再現できるのか、どうしても分からなかったんです。
C で書いたときのように、プログラムがメモリを壊しちゃうことはないと思うので、
どうしても思いあたるフシがなかったんです。