Buenas!
No te va porque has modificado el nmbre de los parámetros!
Antes hacías:
data: JSON.stringify({ dato: "2" }),
Y ahora haces:
data: JSON.stringify({ parametro: obj }),
El model binder de ASP.NET MVC espera que la clase en C# tenga el mismo "aspecto" que el objeto json. Si tu envias un json que es {dato:"2"}, el model binder espera que haya una clase con una propiedad dato de tipo string (era mi clase DatoJson o tu clase Dato). Deja el código de la parte javascript como lo tenias antes y te debería funcionar. ;-)
Saludos!
Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis