Allora, questo è il codice per la pagina log.asp, che si deve trovare nella stessa cartella del progetto web, e la devi chiamare prima di eseguire (in una finestra separata) il programma che da il problema, in modo che l'applicazione è già avviata:
<%@ LANGUAGE=VBSCRIPT %>
<HTML>
	<HEAD>
		<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
		<TITLE>Application Error Log</TITLE>
	</HEAD>
	<BODY>
<%
		
		'Elenca i valori di tutti i parametri, anche di sistema, eccetto oggetti
		Application("TEST") = 123456
		For Each Content In Application.Contents
			If Not IsObject(Content) Then
				Response.Write "<P><B>" & Content & ": </B>" & Application(Content) & "</P>" & vbNewLine
			End If
		Next
		
%>
	</BODY>
</HTML>
Nel programma che da il problema, inserisci in tutti i punti cruciali una riga come:
Application("ERRLOG_0001") = "MioValore"
Application("ERRLOG_0002") = Session("MIAVARIABILE")
Ogni volta che aggiorni la pagina log.asp (tasto F5, non ricaricare una nuova pagina), ti visualizza tutti i variabili presenti nell'oggetto Application, anche se la sessione dell'altro programma è già chiusa.
Il problema caso mai è cancellare tutti i valori nell'oggetto Application prima di ripartire, perché sono transistenti anche per parecchio tempo dopo la chiusura di tutte le finestre (tramite un altro script simile alla visualizzazione), ma questo compito lascio a te 
Giovanni
---
Ducunt fata volentem, nolentem trahunt