Yeah that's a good point that I think non-.Net dev's aren't aware of - you really aren't that locked into doing it the 'MS Way'. Like you mentioned you don't have to use SQL - it's up to you, really, on the DB.
Similarly, you don't have to use ASPX/WebForms either; a lot of people I know are switching to MVC and not using any of the .net ms usercontrols on the front-end, instead going with open standards and using something like jQuery to handle a lot of the UI and web-service interaction. This is the approach I've taken in recent years, and it makes it a ton easier to create clients for other platforms like iPhone, Droid, etc.
Yeah on that note you can use ANY view engine to run your ASP.Net MVC application - you are not locked in to the classic web forms system. We use jQuery and standards based html/css to do everything.
Similarly, you don't have to use ASPX/WebForms either; a lot of people I know are switching to MVC and not using any of the .net ms usercontrols on the front-end, instead going with open standards and using something like jQuery to handle a lot of the UI and web-service interaction. This is the approach I've taken in recent years, and it makes it a ton easier to create clients for other platforms like iPhone, Droid, etc.