この場合、環境変数を設定するアプリケーションは、env.varにアクセスする必要のあるアプリケーションとの間で実行されます。Main()の戻り値(C#プログラミングガイド) msdnの記事では、バッチファイル内での使用について説明しています。私が同じことを試みれば、すべてがうまくいきます。ただし、必要なのは、バッチスクリプトからではなく、アプリケーション内から実行することです。
Process.Start("app","args"); // app sets the env.var.
string envVar = System.Environment.GetEnvironmentVariable("ERRORLEVEL");
明らかに失敗しました。Process.Startは、私が信じるまったく異なる環境で「アプリ」を機能させました。つまり、設定した環境変数に到達するには、呼び出し元のアプリケーションと同じ環境で「app」を実行する必要があります。