Это связано с тем, как ASP управляет сессиями. Объект Session является однопоточным и, следовательно, может быть доступен только одному рабочему потоку за раз. Когда второй запрос поступает для того же сеанса, который уже обрабатывается существующим потоком, этот запрос помещается в очередь ASP до тех пор, пока объект сеанса не станет доступным.
Это происходит по умолчанию, даже если вы не используете объект сеанса на рассматриваемых страницах.
Следовательно, когда вы делаете один запрос из FF, а другой из IE, у вас будет два разных сеанса, поэтому оба запроса могут выполняться одновременно. Вы могли бы получить тот же эффект, используя два разных экземпляра IE.
Если вы знаете, что вам никогда не нужен объект сеанса, вы можете зайти в конфигурацию приложения и отключить его (это будет означать, что ни одна страница ASP никогда не коснется объекта сеанса). В этом случае ASP позволит одновременно обрабатывать несколько запросов от одного и того же экземпляра браузера (поскольку он не сможет узнать, что запросы были из одного и того же экземпляра браузера).
Однако в большинстве случаев ASP-код имеет некоторое применение для объекта сеанса (даже просто для маркировки сеанса как зарегистрированного). В этом случае вы застряли с таким поведением, если только вы не разделяете две ASP-страницы, вызываемые в отдельные приложения.