Check this out for a workaround:
Create some client side code like:
var wDocument = null;
// Only called with IE55
function onClickIE55()
{
if (!wDocument.closed)
wDocument.close();
}
// Only called with IE55
function openWindowIE55(sURL)
{
wDocument = window.open(sURL, "wDocument", "location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbars=no,height=100,width=100,top=1500,left=1500", true);
wDocument.blur();
window.focus();
window.document.onclick = onClickIE55;
}
Then write your link for IE55 as:
<A HREF="javascript: openWindowIE55('getDocument.php3?ID=7');">Open Document</A>
Other browsers can keep the same old link like:
<A HREF="getDocument.php3?ID=7">Open Document</A>
Now make sure the content headers work as before when the document is served:
Content-Type: fileMIMEType
Content-Disposition: attachment; filename=filename.ext
Content-Transfer-Encoding: binary
Somehow if you make your link point to a new window the download pops up correctly (however to open the link you have to say so twice). It is just that the behavior of the rogue window is relatively uncontrolable. Even writing some text to it causes the download to fail in one way or another.
So I resorted to creating the window off screen so the user is relatively unaware of its existance. I tried going farther out but the code didn't seem to consistently work. When the main window is clicked on again it will find and close the rogue window. But the window was around long enough to create a download. I tried finding better events to solve this with, but had no luck. I also had a lot of problems with losing the reference to the window in JavaScript.
Finally... it ain't perfect, but at least I can rest easy again.