Kiran - Thanks for posting that fix. It worked for me as well - awesome!
One annoyance still with the layer list control and the "More..." section of the MapSwitcher is that they do not stay in synch. So if you change layer visibility in the layer list widget, the map updates correctly, but then if you go to "More..." that layer you just checked on (or off) is not set the same under there. I suppose the best approach here is to use one of the two controls, but not both.
Also, I can confirm that the legend widget was not working (was not showing any layers) until I upgraded my ArcGIS Server 10 server to SP1.
Regarding the legend widget, the point made by Mehul Choksey about the use of the ArcGIS.com legend service did not seem to work for me. My service is publically accessible - via a reverse proxy - and my app can access ArcGIS.com, at least as far as I know. What exactly is meant by "my app can access ArcGIS.com"? Is there any way to test/verify this? What is the URL for this legend service running on ArcGIS.com? Can I verify somehow that my app is accessing that?