Yeah, enableRetina is meant to be used the other way around, you design your game for 320x480 and then enableRetinaDisplay() (graphics are 640x960 but coordinates for 320x480).
But, I think you might be able to do this: Looking at the code for enableRetinaDisplay you will see all it does is call “setContentScaleFactor(newScale);” where the scale for normal is 1 and retina is 2. Since your game is “1” at 640x960 then I think all you need to do is call “setContentScaleFactor(0.5);” when running on a 3GS.