I'm not sure how bricksmith handles this internally, but in LDCad I use a stack for the searchpaths this automatically ensures scoping while loading> This way MPD submodels are simply handled like another (virtual) folder in that stack.
While loaded the the virtual location information stays in effect so no other model would ever directly link to a non main model of a mpd, this is the reason I display the '?' in file names when using mpd (E.g. "d:\data\town.mpd?school.ldr")
While loaded the the virtual location information stays in effect so no other model would ever directly link to a non main model of a mpd, this is the reason I display the '?' in file names when using mpd (E.g. "d:\data\town.mpd?school.ldr")