I used to hate Flash. With a passion. Now that 'penetration' is around 80% and Dynamic UI has become a necessity for next-gen apps, I'm beginning to change my mind.
The alternative XHTML/CSS/JScript is not friendly for the designers I work with and is a nightmare compatibility wise.
In an ideal world, I'd have 100% integration of ASP.NET for the data, web services and business tiers, and Flash/ActionScript for the web ui, with full support for .net smart client deployment and interop.