Yeah unfortunately I haven't gotten anywhere near the pal park to try this theory out.
There's a couple things to remember too:
It was my impression that in order to retain like 100% or 99% or whatnot GBA compatibility, that when M3 in particular, possibly G6 too, uses gba saves, they were in their original format. Not necessarily the file that resides on the filesystem, but rather after some algorithm is applied the "patched" save is shoved into the SRAM as an unpatched legitimate save file. Again I don't know if this is anywhere close to the truth but I was under the impression that it was this factor that made M3/G6 so much better than supercard with GBA games in addition to the battery backed existing SRAM. Edit: This just made me think that this would both give a reason, sorta, for why all M3 saves are the same size (filesystem optimizing) and why it takes so seemingly long to copy saves in/out of the SRAM, because it isn't just transferring, but converting?
Also worth a try as soon as I get the Pal Park is injecting a non-m3 patched save into the m3 sram using some sort of cheap trick that wouldn't work for actually playing the game, but might work for letting the DS slot see it as a legit save.
Another possibility is using whatever utility I used to get the save off of my advance wars 2 legit cartridge onto my G6, to inject any number of cheap non-pokemon games (with same size/type SRAM) with any given GBA pokemon save to give you a one-trick pony GBA game that would act like a copy of pokemon.
Edit2: maybe the Gamecube games couldn't interact because the Rom itself was changed and in order to connect them, you had to be actually playing the game? I would suppose that the DS wouldn't access the Read-only rom but rather just the SRAM, meanwhile the Gamecube reads data that the gba game is programmed to output, which might have been changed or messed up with the patching?