I should have mentioned that the problem only occurs in n-tier. Sorry. It would have been helpful if I mentioned that the CompositionContext name should have been "Dmr" and the keyExtention, "RBV644+FIN". I'll try to enter a more thorough description in the future. :-)
It turns out that both "_" and "-" can occur in the two parts that are joined to make the DataSourceExtension so those are not good choices. I've given my testers a version that uses "|" to try out. It would be nice if there were something in the documentation that listed reserved characters. It's not in the API documentation for that constructor overload for EntityManager.
Is there somewhere I can find a list of safe characters (other than the two you've suggested)? Trial and error will work here but I don't want to pick something that IdeaBlade is going to scarf up later if I can help it. And I'd like to avoid the complication of double escaping.
Here's the entity manager constructor call you asked for earlier:
var entityManager = new GemModel(
true,
IafMgr.ThreadEnvironment.Environment + "|" + this.DatabaseId,
compositionContextName:GemModel.DmrCompositionContextName);
In the above the value of IafMgr.ThreadEnvironment.Environment is "Rbv644", this.DbatabaseId is "FIN", and DmrCompositionContextName is "Dmr".