1. There are some major limitations on generating thumbnails for videos that will make what you want to do impossible. It's much better to generate them outside the player either way.
Silverlight will only allow you to generate a thumbnail for a video that is currently being displayed to the user. Doing anything else will either result in an empty bitmap or an SecurityException being thrown. I have tried every conceivable way
before for a project, we landed on generating the thumbnails at render time and using the BIF file format for storing them. You cannot say, create a new media element that is not displayed to the user, jump to a position and then get the thumbnail.
Even if this would work, another huge downside would be the bandwidth usage. You would be downloading videos over and over again to users computers even if they may never watch them. This would dramatically increase bandwidth usage for the servers and the
2. There is the MediaEnded event