inline変数は(MSVC16で確認する限り)1つの.dll内で同じ実体を共有する
dllをまたぐと別の実体になる

.hに書いてもリンク時に多重定義で怒られない

その言い方だとmainを呼び出す前の初期化処理で死んでる感じか