I keep asking Nikhil about open sourcing Script# and he keeps ignoring me
I'm going to keep using it for now. Nikhil does at least release new versions semi-regularly. Please contact him yourself as well to maintain community pressure to open source Script#!

So I reckon phase two is to use my tier-splitting macro to enable certain model methods to be decorated with [RunAtServer] attributes.
The macro would do all the plumbing to call the server and execute the model there. This would allow a totally seemless Model class to be written. With the client part ending up in JavaScript and the server part being C#.

Seeing as client-side MVP is viable, the next step would be create a framework to reduce some of the boiler-plate coding required. For example, the View class that basically maps to and from DOM elements could probably be code generated.

Thanks for the link to ProMesh.NET, I like the use of attributes making the whole process much more declarative. I'll certainly be considering similar approachs when expanding my client-side MVP framework.