Maybe that SDL shouldn’t provide persistence of those parameters, but
just an interface for the programs to change them. For example, an
SDL_GetParam()/SDL_SetParam() pair of functions. A companion application
could be made to read a file and translate it into a bunch of
SDL_SetParam()s and to write a file using a bunch of SDL_GetParam()s,
you see what I mean?
An application would be free then to integrate this configuration with
its own configuration files, get the information from command-line
parameters, environment variables or whatever. But it would be “heavily
recommended” to use the “SDL_config” library to handle command-line
parameters, environment and set defaults from an /etc/sdl.conf file for
example.
Absolutely. That was the plan. 
Of course there would be an add-on library that would provide a
cross-platform way of doing that, much like SDL_image and so forth,
but I wouldn’t have to write that. 
BTW, for those thinking about writing such a beast, using the Windows
registry is probably a good idea, as well as something like /etc/sdl.conf
on Unices and possibly BeOS.
The rough API idea is:
/* Set name/value config pair */
int SDL_SetConfig(const char *name, const char *value);
/* Get name/value config pair */
const char *SDL_GetConfig(const char *name);
/* Interpret a value string as a boolean, int, float, etc. */
int SDL_GetConfigBool(const char *name);
int SDL_GetConfigInt(const char *name);
float SDL_GetConfigFloat(const char *name);
/* Set flags for a variable (read-only, etc.) */
SDL_SetConfigFlags(const char *name, Uint32 flags);
/* Set a callback that is run when a variable is set */
SDL_SetConfigCallback(const char *name, void (*callback)(const char *name, const char *value));
/* Get the first variable in the hashtable
These pointers can be saved to an array and be sorted.
*/
const char *SDL_FirstConfig(void);
/* Get subsequent variables in the hashtable */
const char *SDL_NextConfig(void);
/* Clear all values from the config hashtable */
void SDL_ClearConfig(void);
See ya!
-Sam Lantinga (slouken at devolution.com)
Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec