条件ははっきりわからんが、実行した後
$gameMap.requestRefresh();
を入れると変わった。
(これはGame_SelfSwitches.prototype.onChangeの中身)

憶測だが、元々ゲームインタープリターあたりがGame_SelfSwitches.prototype.onChangeを呼び出さないと変わらない処理で、
それを呼び出す条件がなんかあるんだと思う。

とりあえず1行では不安定なので、$gameMap.requestRefresh();を入れればいいと思う。