I have the multi-artifact-grid example working and discovered that I could only get it to work by leaving the stubbed CustomApp that rab init created. By that, I mean that I had to leave that first stanza in there that declared 'CustomApp'. Beyond that is the code I pasted in from the multi-type-grid example code (with a few tweaks).
Both the CustomApp and the BOA.AdoptedWord.MultiArtifactGrid extend Rall.app.App. I thought there could only be one Rally.app.App "in" an App, or to serve as "the" app. What does it mean to have all of these Apps within one app?
Seriously though, what you did will work just fine. Rally.app.App is just an Ext.Container like anything else. All of the magic of bootstrapping and launching is done via the Rally.launchApp function generated by rally app builder. You'd have a bad time if you tried to actually launch two different apps, but that's not what's happening here. You're just launching one- the className referenced in config.json.
Ideally you'd just move the contents of the launch method of the BOA.AdoptedWork.MultiArtifactGrid into the launch method of that top custom app class. Or, you could just move that out into its own file and make it extend Ext.Container instead, and then just add it in your top level app's launch method. Couple different options there.