If you have not made the decision, here is my two cents, though I am not a guru with Silverlight:
I walked into this place mainly because Silverlight is easy to be deployed and quick to start with applications, especially with the Viewer and the pre-cooked templates that are very useful to kick start your map showing. However, when the first round of apps are out and you would like to take it a little bit further, here is my shares.
1. Silverlight is not something that makes your applications to interact seamlessly with your corporate databases (e.g. SQL server DB's) without additional steps. For instance, I would like to have a second tier popup (link) that will show additional information for some of the items in the original popup and the additional information is NOT part of the layer attributes, but in a SQL server database, this turns out to be a challenge as SL by design does not support SQL server connections. Second, items like textblock, etc. inside a popup (MapTip) is insulated from your app and therefore, attemps to juice up the appearance of the popup contents (e.g. make a popup more readable) through programming will be difficult (doable, but very limitted).
2. You can write codes that work exactly the way you want, but when the individual pierces are boundled together to make it a whole, there could be some hickups (known and unknown). One instance is the map legend control (I use it for layer display control on/off and legend info/symbology). No doubt tech support is very helpful and often go the extra miles to provide workarounds, but not always and without delays.
3. Silverlight focuses primarily on presentation and it is relatively "young" as compared to others. Keep in mind that "presentation" is a big part of any maps or graphics and I hope it will be made a much well-round platform down the road. If you set your eyes on the future, this is a good warm up process.