As far as I know, RM should mock
anything that can be accessed by a
derived class.
No. The idea is that you should be able to mock the behavior of dependencies of the class under test. The word dependencies is used here in the same sense as in dependency injection.
In test driven development, one typically favors composition over inheritance. Dependencies are typically hidden behind interfaces.
My understanding is that RM does not
support mocking protected virtual
members.
That's correct. There are two concise and type-safe ways to specify which class member you're talking about when setting up behavior: by calling the member in a record mode, or with a lambda expression. Rhino Mocks supports both, but neither can work for protected members.