I hope you understand how environment variables work. When you change an environment variable on linux the changed variable is only valid for the current shell you are using and all its clients.
So for example you set an environment variable in a gnome terminal. Then you launch an app from a different terminal or using a shortcut. In these two cases both apps don't know about those variables.
When you would start an app in the same terminal in which you set the variable it would work fine.
There are two good places to put nvidia environment variables like __GL_FSAA_MODE in. You can put it in your .bashrc. Then those variables will be set for each bash shell you launch.
Or another option would be to use a startup script to start a game. Then you can add those environment variables to the startup script. After you quit the app the variable is unset. Using this you can use different settings for different games.