I know this appears to be a known issue, but some related advice in the FAQ is a bit awful, so I figured it'd bear bringing up.
I'm playing on the Linux version (Fedora 21 specifically), with the Steam version (220.127.116.11), and my preference choices in the game settings never actually get saved to the prefs file. As per pcgamingwiki.com, I was able to go in and set the options I wanted by hand, so that's a reasonable workaround, but it'd be nice if the game's settings would save in-game properly. It's not just the video settings; I'd also wanted to turn subtitles on, and that didn't persist between playthroughs either.
Now, more the reason I decided to post, since this seems like it's a known issue. In the FAQ, in a related question about not being able to save the game at all, the following advice is given:
To make sure the game can write savegames, you can issue the following command from your terminal-/console window: "sudo chmod 777 ~/.config".
That's just awful advice - don't do that. Your ~/.config file should only be writeable by your own user, not anything on the system. I admit that the permissions on your top-level homedir on Linux would probably prevent folks from writing in there, but not all distros prevent user-dir read access. The solution in this case isn't to make your ~/.config globally writeable, it's to ensure that the dir is owned by your user. The following would do the trick (and handle a much wider range of cases than only modifying the top-level directory, to boot) -
sudo chown -R username ~/.config
(replacing "username" with your actual system username), or:
sudo chown -R $(whoami) ~/.config
That'd recursively change the owner of all files/dirs under ~/.config to be owned by your user. I believe that should work fine on OSX as well, though I don't have any Mac systems to test it out.