as WKnight02 showed, there was never a problem with gpl, the problem is with people not knowing how to code and keep propietary content away from blends. this is a logic brick problem, and a problem with blender being a bit limiting in using external files, instead keeping everything in the same blend. the only thing we need is for blender to be able to save part of it’s data in a different file from the code, but logic bricks are tied to objects, same (i think) with animations.
loadLib can be used to load a blend containing models. textures can be taken from files in folders, or kept in those blends. the same happens with maps. a script will just replaceMesh with the actual game models, the others being just simple blocks to tie to logic bricks.
the only things that you need to share is the main blend wich contains the code, maybe the animations, some essential models, and sounds (this is another limitation of blender, it is a modeling tool and so it doesn’t give much importance to sounds, there is no sound window and sounds can’t be imported to be used in a logic brick, nor is it posible to execute a sound actuator in another object from python, but the sounds in a folder are still yours and not part of the blend).
the models, textures and maps made by you would continue to be your property, and not gpl.
there are many gpl games: quake, doom, i think rage. the code is gpl, but the models, textures, sounds, story, characters, animations and maps are not. they are property of id software (and now bethesda), and so you have to buy the game to play it.