First - I really wish we had some kind of proof that the menu everyone is accessing and modifying is actually the internal GPS settings and not simply a GPS Testing menu. Based on the number of different settings people claim are "correct", and the number of people who see nearly no change at all, it's starting to feel more and more like a placebo effect.
I think this is true - these settings appear to be for the test app only - when I change one of the settings and then reboot my phone, it goes back to the original settings.
But...I think I've found these settings in the settings database - when I was enabling sideloading I started looking at some of the other tables and found the settings. I suspect that changing them in the database will make them apply to all apps and will make them permanent.
Changing these should be similar to the process for enabling sideloading by changing the database values - copy the dbdata/databases/com.android.providers.settings/settings.db database to the SD card, transfer it to your PC and open it, select the "system" table (instead of the "secure" table used when enabling sideloading), make the changes, and copy the database back to the phone. This is explained in more detail in another thread.
The values are _id's 1353 through 1375. The names and values are:
SessionType = 1
OperationTestMode = 0
OperationMode = 0
StartingMode = 1
GPSPlus = 1
DynamicAccuracy = 1
DynamicAccuracyValue = 50
UseSkyHook = 0
UsePcTool = 0
ServerCustomUrl = (spirent-lcs URL)
ServerCustomPort = 7275
SERVER_MODE = 1
ServerUrl = (spirent-lcs URL)
ServerPort = 7275
SecureSocket = 1
AGPSMode = 0
Some of the values in the database are self-explanatory - for example the server URL and port values. Others are not - the mode values, for example, are stored as an integer - I don't know what values should be used or what corresponds to the options seen in the test app.
DISCLAIMER - I have NOT tried changing any of these values yet, so don't come whining to me if you brick your phone.