I tried to create a simple save/load script to let you know how it could be done. In this blend I save the cube position to a file in string format and also load it from the file using the split() function, but sure there are better ways to do it, but well it shows clearly how it works.
How to use?
File: http://www.nathan.nl.tt/various/blender_ge/game_save.zip
When you run the game, use the arrows: “up”, “down”, “left”, “right”, to move the cube, and “S” to save the position. When you exit the game and start again, press “L” and the cube will be positioned were you saved it. Also notice when you play around with creating files with python in blender, when you double click a blend file, the file created using python is in the same directory as the blend file. When you load up blender and load a blender file with the File > Open, function and then run a python script to create a file, the file will not be placed in the same dir as the blend but in the Blender.exe dir. So remember that when you have problems finding the save file. 
Right now it saves only 1 object position, but actually with some minor changes it can save a bunch of positions, you just need to find a good way to save it, maybe pickle, database, or a good organised string.
Maybe for devs checking this forum, try removing eval(), to not convert string to a float, it’s pretty cool, because afther loading the save file and exit the game Blender instandly crashes.