Ключевая проблема здесь в том, что если вы не ждете, и ваш скрипт завершает работу, компонент ServerXMLHTTP уничтожает себя и в процессе прерывает невыполненный запрос. У вас нет возможности гарантировать, куда попал запрос в то время.
Например, если ваш сервер не успел выполнить выдачу на сервер назначения, он увидит, что он больше не нужен, и не беспокоит.
Даже если было установлено соединение с сервером назначения, запрос, возможно, еще не был передан обработчику. Часто веб-сервер проверяет, что клиент все еще подключен, прежде чем выделять ресурсы для выполнения запроса. Если он обнаружит, что ваше соединение разорвано, он не потрудится завершить запрос.
Другими словами, в классическом ASP нет надежного способа выполнить эту операцию асинхронно, просто он не предназначен для такого рода вещей. Лучшее, что вы можете получить, - это делать что-то другое, пока ваш сценарий работает с чем-то другим (если у вас есть что-то еще, с чем можно столкнуться), однако, я бы даже не рекомендовал этого, поскольку асинхронный WinHTTP внутри ASP является нестабильным.