the problem as Microsoft evolves Silverlight more and more is that it will probably become much harder to keep multiplatform compatibility, especially on "non personal computer" devices.
Moonlight is still limited to version 1 compatibility and they are already talking of the version 3 of Silverlight and adding new features. They should first get Silverlight 2 working on more platforms before pushing with 3. What about Linux, the iPhone, the Wii etc... Currently it looks like Silverlight 2 is only working well on windows and intel mac, which is very different from flash which works on many more platforms.
I don't think that the future of web based apps is on the traditional PC, but rather on netbooks and smaller mobile devices. Pushing a PC/Mac only solution doesn't seems productive to me. If you look at the netapplications stats, in Feb 2008 the Windows+mac market share was 99%, in feb 2009 it is only 98%, which means that non traditional platforms such as Linux, the iPhone and the consoles doubled their market share in 1 year. Clearly this is where the growth is.