オンラインでも SxS

これも GDNJ から引きずったネタですが

string path1 = "http://localhost/testassembly";    // intranet zone
string path2 = "http://www.example.com/samefile";  // internet zone
Assembly asm1 = Assembly.LoadFrom(path1);
Assembly asm2 = Assembly.LoadFrom(path2);

と、アセンブリを読み込んだとき、asm1, asm2 はどのような状態のどのアセンブリを刺しているでしょうか? きちんと SxS 実行できるようにしておかないと、asm1 == asm2 が成り立ってしまい、asm2 にまで Intranet zone のセキュリティが適用されてしまいます。
部分信頼コードを実行するときは、厳密名のチェックを忘れずに。