If a preference is listed in FINALPREFERENCES, setting a session variable (with something like SmartSessionPlugin and SessionPlugin) will override that final preference.

Test case

Put SKIN in FINALPREFERENCES in TWikiPreferences. Now try to set SKIN in the user's TWiki page. This SKIN will not work. Now use SmartSessionPlugin or SessionPlugin to set a "sticky skin." The session variable WILL override the pre-set SKIN.

This will become more important if and when I upload a version of SmartSessionPlugin that provides a TWikiVariable that allows users to set and get session variables. Right now the problem only SEEMS to surround %SKIN% right now, until other plugins start using setSessionVariable. The changes I'm about to make will provide a plugin that gives users access to setSessionVariable.