Straight to the answers:
1) According to Microsoft, you will get drastic performance degradation when you set Windowless=true. However, in my opinion it all depends on your application - I did a quick test with our online demos and I did not find any perceptive difference. If you add the EnableFrameRateCounter=true parameter on the Silverlight object, you will be able to see the current frame rate of your application in the browser status bar (only IE is supported, though). I suppose that the effect of the Windowless parameter will be more visible in heavily animated applications or applications that play HD video.
2) Creating a separate context menu for each gridview item is the easiest approach, in terms of programming, e.g. finding the associated gridview item on context menu click, etc. You can use a single context menu for the whole gridview, but you will have to manually determine which was the clicked gridview item. The RadContextMenu First Look example
demonstrates how to do this with RadTreeView. I didn't tried it with RadGridView, but I think that the code will be virtually the same.
All the best,
the Telerik team