FileReference is, let's say, rather odd on how it works with relative paths. In most cases, the base path is the path your swf was loaded from. Except for IE (or it was the other way round? I can't remember right now). I think this is not an IE/Firefox/chrmoe issue, but rather a player issue. There's a flash player for IE -that uses ActiveX- and a player for the rest of the browsers. At some point they diverge in how they handle relative paths for FileReference objects. If this is a feature, it's quite stupid, so my feeling is this is a bug, but haven't checked the bug base, so I'm not sure if it's officially considered a bug or not. Also, setting the base_path in the embed code doesn't work.
Anyway, the only sane way to avoid this madness is using a full path. Trying to detect if it's IE or not will probably work, but I think at some point this annoyance will be fixed; and when that happens, your code will break, so I think it's a bad idea.
Now, you'll probably not want to hardcode the full path in your swf, so a simple solution I've used to work around this (assuming you can change the embed code) is passing this path through a flash var when you embed your swf. Generally, I retrieve this path with php so I don't have to manually change it when deploying or if you move stuff around (I pass the absolut path to the "app root", which for me it's usually the html code that embeds the swf; then I concatenate that to the relative path where the file that handles the post lives, so from your swf it's like using a relative path in a way).
So, if you can use some server side, you can just write this little piece of code once and forget about it. But even if you do this manually, it'll be easier to mantain than recompiling your swf.