Thanks a lot, Brian, for this very informative article. I used WebClient instead of HttpWebRequest to make an SL app after reading your article. I found it to be a little bit easier. It works well.
The SL x-domain access limitation almost defeats the purpose of the app which I made because of being tired of dealing with obsolete ActiveX controls one would have to install on every computer used to view an IP camera. I do not understand why SL does not allow in-browser X-domain access if it is allowed explicitly by the user for a specific uri.
I am not sure what benefits one would get by using System.Net.Sockets as suggested by Nils.