Why not just: Response.TransmitFile? - note that unlike Response.WriteFile this one won't load the whole file.
You might want to avoid it entirely, and have the link point to a different filename. This way you get all the stuff you wanted from IIS - particularly resuming download.