The emulator should work fine when you switch between games because technically you're still within the same program. It just launches different roms to change the state of the program, but you're still in the same program.
If you mean that your emulator/program can relaunch different xbe's (which is possible) it might be the way that programs handle launching versus exiting.
I ran into the same problem when testing out gamesave exploits (when I was in boxplorer, I'd hit the black button to go back to EvoX, but I'd get kicked to an error 21). Using boxplorer to manually launch the app would work fine though.
At first, I was thinking it might be that the programs are either hard-coded, or by default there's some call to C:\evoxdash.xbe or C:\xboxdash.xbe ... I don't think this is true though, as I tried habibi signing both then doing some file renaming while in boxplorer to see if it would work... I admit I'm a little sleepy at the moment

but that didn't seem to help. I also tried seeing if maybe the original MS signature is somehow restored (so I made copies of xboxdash.xbe renamed and copied in boxplorer), but that didn't seem to work either.
At any rate, habibi/font signing your xboxdash.xbe is a bad thing to do anyway (in a softmodder's point of view... so kids don't try this at home

). I don't know of a workaround for this (although I have to admit I haven't spent that much time dwelling on the problem... I'm actually a chipper who likes messing with exploits

yeah, I'm a nut)
- ZoGger
PS. I figure I should stop there before I start theorizing more technical reasons, as they probably are as valuable and true as the droppings of a flying elephant... so yeah

... if anyone out there does know of a workaround, I'm curious about your findings... I'm sure it's something simple my primitive brain can't seem to piece together.