:hi clearの後にlet g:colors_nameを書くと2回colorschemeを設定しようとVimががんばります。
試しに$VIMRUNTIME/colors/default.vimにecho 1を入れ、vimrcにcolorscheme defaultと書きましょう。
:hi clearより前に書けばいいので、let g:colors_nameをどのコマンドよりも先に書いて置くのがよいでしょう。
ああ、だめだ。:hi clearの前に書いちゃうと色の定義が崩れちゃう。
ああ、理屈が分かった。
:hi clear←ここはdefault
let g:colors_name = 'color'←ここでcolorに切り替わり
つまりdefaultを設定した後に別のcolor schemeを設定したから2回設定していることになる。
ってことで仕様でした。