Hola
Tuky !
Me temo que no vas a poder realizar eso, como lo has mencionado el tiempo depende de cuanto tarde la consulta en completarse y el archivo asp en generar la salida XML.
Si tarda mucho la consulta, podrías optimizarlas, ver si por ahí la generación de un índice mejoraría el tiempo de respuesta o inclusive desnormalizar en algunos puntos la base de datos.
También se me ocurre, que en lugar de obtener todo el XML, lo generes por partes como un tipo de paginación, cargas por ejemplo los primeros 10 registros en el Datagrid y que exista 2 botones en la UI para poder recorrerlos.
Un saludote !