Да, как гласит старая поговорка, нет ничего, что нельзя решить, добавив еще один уровень абстракции.Я обычно просто скрываю тип за интерфейсом, где методы интерфейса являются единственными, необходимыми для выполнения действий, которые я хочу над этим типом.
Просто смоделируйте интерфейс, который скрывает HttpSessionState, и выполняйте утверждения по использованиюинтерфейс, в Rhino Mocks это просто AssertWasCalled (d => ....) и т. д.