>>378
location.hrefへの代入は非同期処理(ロード完了を待たずに次の処理へ移る)
alertがない→javascript:〜が走るより早く直後のGM_logが実行される→同じ文字列が2回表示される
alertがある→そこで処理が一旦停止してる間にjavascript:〜が走る→意図通りの文字列が表示される

回避策は↓など。でも正直ここまでするのなら素直にunsafeWindow使えばいいと思う
どうせ自分専用なんでしょ?
http://wp.serpere.info/archives/1107