El error puede deberse a que (no estoy seguro) el evento Application_BeginRequest se ejecute antes que Session_Start, por lo que al no haberse creado la sesión todavía te lanza el error.
Prueba a verificar que existe para acceder a ella. Puede que en una segunda petición ya se haya creado la sesión y no te lance el error:
Código vb:
Ver originalSub Application_BeginRequest (...)
If Not HttpContext.Current.Session Is Nothing Then
HttpContext.Current.Session("pepe") = 1
End If
End Sub
Un saludo.