I've tried your code, does seem to eliminate that HttpOnly from the:
Set-Cookie: ASP.NET_SessionId=x33sqfniuwu42xfqfmbsmnyu; path=/; HttpOnly
That header line I believe, is only seen on the first time when you access the asp.net project.
So when you access your default.aspx (or whatever your first page is called), the response from the IIS from your browser's GET will contain that line in the header.
As for WMP issue, I won't be able to post my code, because this software is not open source, and because the code won't help much without all the other crap that it uses...but to summarize it....
//just put this code in any code behind, and keep all the content from the .aspx page leaving the one line
//referencing the .cs
//just put a wmv file or avi or mpg file to the MemoryStream, my program grabs data from database,
//but should work the same
byte[] tempBytes = null;
MemoryStream ms = new MemoryStream(tempBytes, 0, tempBytes.Length);
Response.AddHeader("Content-Disposition", "inline; filename=\"abc.wmv\"");
Response.ContentType = "video/x-ms-wmv";
Response.OutputStream.Write(ms.ToArray(), 0, ms.ToArray().Length);
Response.End();
This is very standard code, setting that contenttype, and the inline, will tell IE to open the file, that will open WMP, and then WMP will try to open the file from the URL (NOT FROM CACHE).
Another way to ensure this works....put this code in a second page...not the first page you access...because you would need to let that HttpOnly thing gets set in IE first.
In terms of the java applet, I really have no idea either, in 1.1 it magically will get the session id from IE, and puts that sessionid in the GET header...(Not so for 2.0)
Right now I've modded the code to grab all the session data I needed from before from database, and put a key on it, and put the key on the querystring on the URL.
I've also modded the code to programmically have .net put the session id on the <param> on the applet, and have the applet programmically put the session on the GET header. (just in case if any session program causes me program later on)