I wrote a small media player for my son. I wrote the original version in Silverlight, but quickly ran into a problem where no matter what I did, Silverlight wouldn't read the larger video files (encoding was fine, so I'm pretty sure this is a 1.1 alpha bug). Anyway, I rewrote it as a WPF app. The first time it ran, my wife realized I had forgotten something very important: the screensaver.
So I searched around, and everything I saw was about writing to the registry to disable the screensaver. That just didn't smell right to me, so I dug deeper.
Eventually I ran across this great post that shows how to response to the appropriate windows messages to block the screensaver from starting up. I tested it in my WPF app and it worked like a charm (however, it didn't handle the power/monitor blanking properly. hmm).
For what it's worth, here's a screenshot of the very simple babysit...umm, media player I wrote for Ben :)

(That's Bear in the Big Blue House: The Rhythm Masters song)
The buttons on the right generate random playlists: one has two random episodes and two random songs, another has four random songs, one random episodes, etc. Below the playlist is a list of all the media files in the "Bear" folder on my media server. You can click on any of them to play the video. It's all really simple, with the only style/template used being a simple button template I snagged from a blog a while back.
The app runs under .NET 3.5 (beta 2) on my wife's laptop just outside the kitchen.