Hi Warren,
Based on your additional information, it seems that the fact you are trying to load a module more than once could be related to your problem. Take into account that inPrism modules are not intended to be loaded more than once (you could find more information about this in theModular Application Development Chapter of the documentation).
As you mentioned calling the LoadModule method for the second time won't throw an exception, neither it will call the Initialize method again. However, after you have loaded a module, the view and all the components defined in it will be available to the main application. Therefore you may have to define some logic to react accordingly in case your module has already been loaded, and perform the necessary updates as required (like changing the state of your views). This can be achieved in several ways, for example in my opinion a possible approach could be by using theEvent Aggregator. This way once you ensure the module has been loaded, you could publish an event that was subscribed in it, and define the necessary logic in the handler of this event to perform the updates, for example injecting a view in the corresponding region, allowing to reuse this logic without depending on the modules'Initialize method.
Additionally, if you are interested, you could find more information on how to publish and subscribe to events using theEvent Aggregator in the following chapter:
I hope this helps,
Agustin Adami
http://blogs.southworks.net/aadami