Per Eric Julien's suggestion (thanks Eric!) I added the ServerLayout section to xorg.conf and it seemed to fix my problem. Running nvidia-settings as root was still necessary.
It seems that having an (empty) ServerLayout section in xorg.conf by default, and requiring nvidia-settings to run as root, would fix the vast majority of the problems.
I find it interesting that nvidia is still using xorg.conf for configuration, while ATI has already moved to the new style and has ceased to use it for config settings.
Per Eric Julien's suggestion (thanks Eric!) I added the ServerLayout section to xorg.conf and it seemed to fix my problem. Running nvidia-settings as root was still necessary.
It seems that having an (empty) ServerLayout section in xorg.conf by default, and requiring nvidia-settings to run as root, would fix the vast majority of the problems.
I find it interesting that nvidia is still using xorg.conf for configuration, while ATI has already moved to the new style and has ceased to use it for config settings.