WebProg板とマルチポストです、すみません。

現在、ASP.NETからC#で書かれたコンソールアプリケーションを呼び出し、かつ二重起動を防止する、というアプリケーションを書いていますが、うまく動きません。呼び出すほうは
Process myProcess = new Process();
myProcess.StartInfo.FileName = "c:\exe\moner.exe";
myProcess.Start();
とやってうまく動いているのですが、これが動作しているかを判定することが出来ないのです。
(1)Process.GetProcessesByNameを使う
(2)Mutexを使う
の二通りを試しているのですが、(1)はどうやらAdminでないと動きません。かつ、Adminでも"moner"/"moner.exe"でプロセス名を検索できないようです。
(2)もやはりadmin権限が必要ですが、とりあえずは動いています。

不思議なのは、(2)で、上記のコードでASP.NETから起動したときだけ動かない、ということです。
起動コードを除いたASPXではちゃんとMutexを操作できますし、コンソールから起動したmoner.exeもやはりちゃんと動作します。
動かないのはASPXから上記のコードで呼び出したときだけなのです。

adminでなら動くということで、まず間違いなく権限/セキュリティの問題だとは思いますが、どこをいじればいいのかわかりません。
ユーザー偽装を最後の手段として、もしなにかご存知のことがありましたらアドバイスをいただければ幸いです。よろしくお願いいたします。