Поведение Session OnStart можно эмулировать - в одном из событий запроса вашего HttpModule - проверяя, установлено ли HttpContext.Current.Session.IsNewSession в true.
Однако есть одна ловушка! Если не установлено значение в объекте Session, следующий запрос будет иметь положительное значение как IsNewSession. Поэтому, когда вы, возможно, проверили IsNewSession, вы должны установить любое значение в объекте Session.