Facendo seguito al mio primo post, ho provato a ritestare la situazione avendo installato la Beta 2 del .Net Framework 2.0. Il compilatore C# continua a non segnalare errore nella seguente situazione:

using System;

class C<T>
{
   public void M(T x) { }

   public void M(int x) { }
}

public class Overload
{
   public static void Main()
   {
      C<int> obj = new C<int>();
   }
}

Chiaramente c'è una ambiguità su quale metodo chiamare e quindi il compilatore, come indicato da specifiche, dovrebbe segnalare errore, cosa che invece non fa.