I just spent about 4 hours trying to debug this problem.
Here is the setup, a user with a slow connection was not able to view a .wmv on a site. The .wmv was 250mb and he was timing out at 11:34. Different browser, different computer, all that jazz. Our site runs on iis 5 with .NET 2.0 and the file is "hotlinked". That is, we are not using any kind of Response.Write to write to the stream, just linking to it and letting the client stream or download it.
I got a hold of dialup computer and account, and I was able to reproduce the problem, getting the server to send a RST about 15 minutes after starting to download the file. This looked like the .NET Connection Timout setting, which is set to 900 seconds, or 15 minutes, as a default in iis 5.
However, when I made a new site to test this theory, setting the timeout to 20 seconds did not affect it at all. In fact, in the test site, I was not even able to reproduce the error. Besides, why could the .NET Connection Timeout have anything to do with iis sending the file over the wire?
After a ton of debugging, I found the culprit, wildcard application mapping.

The wildcard application mapping was telling .NET to handle ALL files. Because .NET was handling the file, the 900 second timeout was coming into play. This was a requirement for another part of the site to function, so we could not turn it off. What we ended up doing was making the "media" folder, where the wmv lived, its own application, and removing the mapping from there.
This solution was a lot better than upping the timeout because we didn't not want abandoned connections sitting around for ever.