I have to disagree with you on a lot of those points. You can run web services using JSP, PHP, Coldfusion, and even ruby. .NET is superior in that much of the code has already been written, which speeds up development, but also limits(to some degree) the creativity of the designer. My experience with .NET has been wonderful as well. However, the lack of IDE's for the other languages doesn't make them less viable solutions to web applications, they simply make them less productive.
In my job, I have seen some of the fastest and most secure web applications and services running on JSP. I have also seen a lot of them run on ASP.NET and php. After a couple of years of developing Web services, and Web applications/interfaces, I am fond of Asp.net. You're right, Microsoft has gone out of their way to make it very easy for applications to be deployed, and highly scaleable. However, Microsoft has a major flaw, that they've had from the very beginning: Compatibility. Sure, asp.net runs well on just about anything you throw at it, but try setting up asp.net on a linux server, or any other server other than a windows server. Microsoft doesn't play nice with the technology community. However, you can run an apache web-server on IIS for Windows server 2003, with little hassle, and on the apache server, it's a breeze to setup php, jsp, Coldfusion, even Ruby. But when a large portion of web-servers on the internet utilize linux/apache combo's, asp.net while enticing, is not an option for them.
For example: http://www.chase.com
Chase bank's web interface for their customer's bank accounts is all jsp. It is very secure, and quick. Chase bank has built a lot of their applications on a java platform because of it's reliability. They have web-services that use the jsp to send text messages notifiing you of changes made to your account, you can also receive e-mails, and phone calls. You can also specify under what conditions you wish to receive these alerts. Even in the Chase branch locations, the web interface that they use to get rate quotes, and access information is all done in jsp. And chase is no small bank.
Another reason why asp and the microsoft .net framework are so popular, is because they have much more interactive support. Microsoft wants it's technologies to be used. If it doesn't make them easy to understand, develop, use, and implement, then why would someone pay, when JSP, and php for example, are free? Microsoft has to do this to be competetive. ASP.net pages wouldn't be half as easy to develop without visual web developer or visual studio. Think of designing without intellisense, you'd have to remember every property of every asp.net control in order to be as efficient without the IDE. Java, and PHP are open source-type technologies, and open source-type technolgies are what shape the future, they take the cutting edge technology out of the elite's hand's, and put it into the hands of every day developers like us.