Ha! It works! There's now a 1 second delay whenever switching paks, to give the emulated game time to figure out the pak has been switched.
The language files are gonna need a new line (Switching paks...), so I've updated the Language SDK. It won't crash, but it won't show the text either. If anyone is still updating the language files, send me a PM and I'll help you add the new line with minimal fuss.
mudlord, welcome on board. Everything you need is in the GBCart.cpp file, under the function LoadCart. As it is, we use CreateFile and CreateFileMapping to map the ROM into memory. It shouldn't be too hard to add in the functionality. You can P_malloc as big as you think you'll need, and store the pointer in Cart->RomData. I've already added a handler in UnloadCart in order to free any memory you've allocated. (Look at the RAM loading code further down, it P_mallocs and loads into RAM at Cart->RamData if it can only load read-only.) I've prepared things as best as I can, please check out trunk from the Subversion server and PM so we can give you your own branch.