Not sure you can do this with Rhino Mock. The issue is that ReadOnlyCollection is not an interface, nor does it contain virtual methods, which open source mocking frameworks can work with.
Since ReadOnlyCollection
implements IList
you could try the suggested method found in this SO question
How to mock a private readonly IList<T> property using moq
Basically use an IList collection as a public property, but make the underlying list private, so you still get that read-only experience. Thus in your tests, you can use:
var userDetails = MockRepository.GenerateMock<IList<UserDetails>>();
If you really want to mock a ReadOnlyCollection, the you will need to buy either TypeMock or JustMock. Alternatively, get Visual Studio 2012 Premium with Update 2, where you can use the MS Fakes mocking framework.
EDIT:
Lee's answer is much more efficient then mine :) I would suggest that one instead.