Программа без веб-интерфейса:
Я бы не использовал базу данных.Что произойдет, если вы решите переключить базу данных?Теперь вам нужно перенести пользовательские данные.Что произойдет, если они будут удалены?
В Windows файлы настроек в папке AppData пользователя являются подходящими.Также допустимо не удалять их при удалении, поэтому настройки будут сохраняться при этом.Я бы уклонился от реестра для пользовательских настроек.Эта область больше подходит для системных настроек.
В * nix системах есть похожая область, но я не уверен, что у меня в голове.Это было слишком долго.
Веб-программа с локальными настройками:
Cookies - практически единственный компьютерный вариант для веб-программы.Фильтры на основе IP - плохая идея, так как большинство потребительских интернет-вариантов будут чередовать IP-адреса один раз в день или один раз в неделю.Вы могли бы фильтровать MAC, но это потребовало бы использования необработанных сокетов для получения MAC-адреса.И даже тогда вы, вероятно, получите адрес маршрутизатора, а не компьютера.Это означает, что два человека на одном маршрутизаторе получат одинаковые настройки.
Веб-программа с глобальными настройками:
Ваша программа должна запросить веб-службу для этого.Служба тогда свободна, чтобы реализовать это любым способом, который является лучшим в то время.База данных подходит для этого сценария, так как вполне вероятно, что ваши пользовательские данные уже существуют и в них есть ключ, предоставляя простой способ связать данные с конкретными пользователями.