Hi Rui,
I have been surfing the net in a search for a solution for you. Apparently this is a part of the constant debate between browser for standards on how to interpret headers with regards to encoding. FireFox and IE obviously interpret the headers differently in this case. It all winds around the HTML header: Content-Disposition: attachment; filename=xxxxx.
According to what I have seen, then the default for filename encoding is supposed to be utf-8. I am not sure that is the case, as in this case IE is interpreting the filename differently, so I assume that IE is interpreting in non-utf8, which most likely is your native char set (portugese then). When you read filenames from your filesystem that contain non-extended characters, then they can be represented in non-utf8 characters (single byte). When you get filenames like the one you have problems with, then on your filesystem they will be interpreted with utf-8 chars (two byte or more), and that's when you have the problem. Firefox obviously concludes correctly that it's an utf-8 filename and makes the correct choice, but IE does not.
You might try adding one more directive to your globalization in web.config. Try adding responseHeaderEncoding='utf-8' and see if that makes a difference.
During my search, I did find some articles that might help you. I didn't try them out, but the one from Code Project (here) looks ineresting. Other articles I found are here, here and here.
Hope this helps. Please let me know if and how you solve.
Palli