VBScript。値を変数に入れた場合とリテラル値を使った場合で、条件式の結果が異なる

' ■Trueになる
if 2010 > "2008" then
MsgBox "True"
else
MsgBox "False"
end if

' ■Falseになる!!!
NumYear = 2010
StrYear = "2008"
if NumYear > StrYear then
MsgBox "True"
else
MsgBox "False"
end ifちょっと悩んだバグの原因がこれだった。
文字列と数値を比較するのがマズイってのは確かなんだが、下側はどういう原理で偽と判定されてるんだ、おい。
意味不明すぎる。