If you could provide an HTTP header trace of this interaction, we could easily look at it and explain exactly what was going on. Everything you need to know is in the headers for a problem like this.
Unfortunately, it is hard for me to be really specific in recommendations without seeing that.
If you can repro this easily, then getting the headers should also be easy (Firefox live headers plugin, IEHTTPHeaders, Fiddler2, etc.).