See the question and my original answer on StackOverflow

I don't think there is any sort of state stored because the ASP.NET engine does not really need that, as it knows its state implicitely.

Searching with .NET Reflector, it seems the page render events are raised from this internal System.Web.UI.Page method:

private void ProcessRequestMain(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint)

You can have a look at it, there is no notion of state. The only information you can get is the trace. If you have access to the Unload event, then you should have access to the trace? or I miss something :-)

Since the trace is in fact a dataset undercovers (see my answer here: Logging the data in Trace.axd to a text/xml file), you maybe could get the information. But setting trace=true is not recommended in production though...