xD I think that is the part that he didn't like, hence the "instead of using GBAExploader". It might be possible to use Xenon++'s bypass for loading commercial roms on moonshell2. I've never tested anything with Xenon's stuff btw, but maybe you can test it for me xD. Try using Xenon++'s regular setup only instead of using the "linktemplate.nds" or "mshl2wrap.nds", try swapping it with the gbaexploader extlink for moonshell2. Then rename all of your .gba files to .nds files, put them in the regular setup and create the links.
If my current sleep-deprived mind is working semi-correctly, it could be that Xenon++'s loader just makes the link files just clones of the template (never found out exactly what it does, but meh)...I supposed if that doesn't work, maybe if you use the bypass per usual and just rename your .gba files to .nds files (like before) and then instead of having nds.mshl2wrap.nds, swap it for the gbaexploader extlink.
If that fails, maybe just do the simplest thing I can think of atm and change the mshl2wrap.ini to have the gbaexploader extlink as a loader (of course per usual stuff before with .gba to .nds and making the links). I can't really think of anything that would cause this idea to fail.
Of course it could be that every one of these ideas fail, I have no clue, but even my sleep addled brain is inclined for testing it seems, so if you feel like trying out my random ideas, feel free to tell me the results (I'm betting that the first two ideas will fail, and that the last one might be able to work.)