for my needs and ran into the following exception during the call to CompositionInitializer.SatisfyImports:

System.InvalidOperationException: The package downloaded successfully but an error occurred while reading the contents of the package. See the inner exception for more details. ---> System.ComponentModel.Composition.ChangeRejectedException: The composition remains unchanged. The changes were rejected because of the following error(s): The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) Change in exports prevented by non-recomposable import 'Advaton.EventViewer.Silverlight.Shell.ShellViewModel.Manager (ContractName="Advaton.Silverlight.Regions.RegionManager")' on part 'Advaton.EventViewer.Silverlight.Shell.ShellViewModel'.

Solution to this particular issue is at the bottom of the post. Here I wanted to summarize what was required in order to see the exception on the shell:

To achieve the message on shell for the navigation/load/composition errors:

Cool. Back to the post subject!

The issue was with me setting a reference with Copy Local as True in dynamically loaded control project to one of the assemblies referenced already by the shell project. So once the property got injected in the main xap, after loading another xap dynamically it tried to recompose the property again with dll from the dynamic xap. And in my case this is by no chance about AllowRecomposition but about setting the Copy Local to false for such references in xap projects.