You are doing this part correctly:
this.RootVisual = EnterpriseLibraryContainer.Current.GetInstance<MainPage>();
It must be the way in which you are calling it. Without having your codebase and working on your team with your project this is too difficult to say. I have used this code without any problems with Silverlight (RootVisual is only in Silverlight, not even in WPF).
Sadly, based on my research on this question, even if you changed to leveraging a Unity Container, you would end up with container instantiation issues in the same way that "Current" is being used.
If you don't like it, you are really going to have to dig deep and use Fiddler etc.. and navigate the DOM etc.. and figure it out. That or stop using Silverlight etc...
The code is very commonly used without problems from "most people" Here is an example http://entlib.codeplex.com/discussions/285472
Hope this helps, I wish I could solve your problem.