Myself and my colleague Wael Rabadi came across this issue in Asp.net 2.0.  I have seen several people with solutions to this problem but with their answers not very clearly explained.  The symptoms of the problem are postbacks not working on pages that have validator controls of some sort.  What is happening is that there is an  IHttpHandler, WebResource.axd, which appears to return the javascript that is used to do these postbacks when using a validator control.  However in most web applications we do some sort of processing in the various handlers in Global.asax.vb, such as Application_PreRequestHandlerExecute.  If these handlers try to access session they will generate an exception because there will be no session available for the request to WebResource.axd.  This is because this Handler does not implement the interface IRequireSessionState.  If an HttpHandler doesn't implement this interface then the asp.net runtime will not provide session for the request and the code in Global.asax.vb will blow up.  The solution is to place some code like the following into your Global.asax.vb, in the Applicatoin_PreRequestHandlerExecute and your Application_AcquireRequestState functions.

If (Not TypeOf HttpContext.Current.Handler Is IRequiresSessionState) Then
      'Do any code that does not require session
Else
    '  Perform any operations that require session.
End If


This code checks whether we should expect session for the handler processing the request.  If not don't do any session operations.  Another approach would be to just check if HttpContext.Current.Session is nothing or not in these functions.