Windows 版の vim は起動後に内部的に $HOME を $USERPROFILE に設定します。 これにより誤動作を起こすツール類があります。例えば $HOME が設定されている場合は UNIX 的に動作し、設定されていない場合は Windows 的に動作するといった物です。 Vim script から参照する為に内部的に設定されていても良いとは思うのですが、起動前は設定されていなかったというフラグ(を追加したい)を見て、system() や `:!` 時に消す動作になって欲しいと思っています。