Web.config
is meant to be used in design time only. If your application changes it's settings in run time, you should really consider storing these settings somewhere else, like in the database.
Changing the web.config file will cause the application to recompile and you will lose all your static variable values and other things. This will also cause a temporary delay for the users. You will also have to manage concurrent updates to the file.
When you change the web.config
file you are, in a certain way, changing the application source code.
Take a look at this thread for possibilities to store user settings: What is the best way to store user settings for a .NET application?.