Omar Shahine has a great post about FireAnt, Microsoft's AJAX toolkit which they are using for the Hotmail rewrite.
It sounds fairly similar to DWR in the Javaworld, which I have raved over before.
Speaking of AJAX, I came to the sudden realisation this week that AJAX programming can actually be easier than conventional web programming. It's true that tool support for AJAX still sucks, but that is sometimes compensated for by the fact you get to ignore the traditional problem with webapps: the lack fo state.
Transitions between the two programming models are the tricky bit – for instance if you want an AJAX control to be in a particular state when a page loads then you either need to setup defaults for it (which is nasty if the defaults have to change depending on the state of the application), or have an page-load event to trigger updates to the control. Neither option is particularly elegant.