Productivity is more important than technical purity.
But I feel ASP.NET's Server-Side Events for controls are a hinderance to productivity since they clash with my developed understanding of HTTP and the stateless web.
It also makes it harder to develop truely portable and compatible webapps.
I will agree that if you goal is to run on whatever flavor web server this could be an issue. Every project I have worked on they are more than happy to lock in on a Server platform. Even for amateurs hosting providers abound that offer both Windows and Linux Servers. (the prices are very similair and range with what support and features you want)
ASP.NET is a tool not a requirement.
Maintability may be another issue you want to look into with you line of thinking. Although you may understand what your doing it your code. Will the next guy have to base his disertation around it to understand the subtlties. I think of this as code weight. Is what I wrote documented and clear. Or do I need to take a perl class to begin to understand what @#$@$# means