How to make game, made with the BGE, without having to provide source code of the game?
Stand Alone:
The Blender Game Engine is GPLed.  There is not a way to release a game made in the Blender Game Engine without including the Blender Game Engine.  Including the Blender Game Engine makes your game GPLed.

Stand Alone, load external .blend:
You can compile the BGE into a standalone player that loads the .blend of your game, and have the .blend be under a different license.  This would make it illegal for someone else to use your work, but it would trivial for people to break the law and poke at the blend file.

Encrypt:
You could obfuscate the blend file using encryption libraries in python.  The executable which is GPLed would contain the key, and a smart enough dedicated enough person could get at your blend file. It would prevent the average Blender user from being able to steal your assets though.  See: https://pypi.python.org/pypi/pycrypto for a crypto library. 

Practicality (opinions included, sorry):
There is nothing on your computer that you can't "steal" assets of if you are dedicated enough.  There is no way for someone to both have something and not have it at the same time. Stop worrying so much about "theft", and generate a game good enough that people people are willing to pay. If you get big enough where you see large scale copyright infringement, use the DMCA and other copy right laws if you feel the need; but I think you'll find that over enforcing copyright and preventing modding will hurt you in the market place more than a few free loaders abusing your game assets.