Progress: The same can now be acheived with an internal BASS.DLL (instead of BASS.DLL having to be seperate from the Lemmix EXE). I'll test if this makes a difference with playing from memory; it's the *one* factor that was different between the two before (apart from whether BassMod or Bass was being used) so while I can't see *why* it would, I'll see if it does.
EDIT: It makes no difference to that, sadly. I'll have to look more into this; but at least I've got BASS.DLL loading from inside the EXE instead of an external file. That's another thing that has to be done anyway for this to eventually work.
EDIT: GOT IT! It appears that unlike BassMod, Bass cannot automatically determine the size of the MOD data, and it instead must be specifically passed to it. Once I adjusted for that, it works perfectly fine!
Now, on to adding VGM support. It appears Bass plugins cannot be loaded from memory, and thus must be a proper external DLL file. I've asked on the Bass forums in case there's a way around this, but it seems the closest workaround might be needing to extract the plugin DLLs at runtime. Alternatively, looped OGGs could be used at this point, it would seem.
OKAY, MAJOR BREAKTHROUGH!
I can load the Winamp Inputs plugin (but not yet in_vgm itself) from memory, and, for the first time, HAVE SUCCESSFULLY PLAYED A VGM AS BACKGROUND MUSIC! However, there are other issues, like not stopping correctly - still need to work on this one. However, it means we're getting closer to it!
Another issue I'll have to look into is that currently, the tracks loop twice then fade out. But that should be a simple fix, just have to find the right configuration option.
EDIT: Fixed the not-stopping-correctly issue. Still need to fix the looping issue.