I don't have any certain answers, but I was able to resolve the problem. The site in question was running in .NET 2.0 with the older version of the System.Web.Extensions (scripting, JSON and other whatnot). We were also using the ASP.NET SqlMembershipProvider. This was also on an HTTPS connection (though whether that was related, we don't know).
In our research we found that turning on tracing via the web.config stopped the problem. Likewise, using Charles to watch the what was happening from the remote client seemed to stop the problem. Based on this we figured that it was most likely a client side issue. The issue never impacted Firefox or Chrome, and we were able to find others with issues where Internet Explorer was not sending cookies or having problems with cookie communication in particular situations. Knowing that a change on the server (enabling tracing) would stop the long delay from occurring, we reasoned that something in the communication between the site and IE browsers was the problem.
Fix that worked for us:
We upgraded the web.config and the site to use 3.5 of the system.web.extensions section group in the configSections, upgraded the assemblies, httpHandlers, httpModules, and added in the system.codedom, system.webServer sections. We recompiled the site and redeployed the code to the server and the problem has since been resolved.
I suspect that the addition of the system.codedom and system.webServer was important. Using the newer assemblies also may have played a role.
Thanks,
John