If you're looking at .NET then ASP.NET MVC is almost definitely the way you should go. The design allows you to very cleanly separate the various concerns of your application, as well as test them. A drawback it might have, given your requirements, is that any assembly that changed would have to be re-compiled and re-deployed, as an ASP.NET MVC app is not compiled in-place (to my knowledge...).
However, since you've separated your concerns cleanly (right?), and ran all of your unit tests (right?) before deploying, you can deploy a single new assembly that has changed with a high degree of confidence that it won't break anything.
If you're interested in ASP.NET MVC I would highly recommend the new book by Scott Hanselman, Scott Guthrie, Rob Conery, and Phil Haack - the first chapter (200 pages and a full application tutorial!) is available for free online here