What is the purpose of TemporaryValue ? The name itself indicates that its value will only be used for a limited time. Setting TemporaryValue obviously sets ActiveValue to the same value. ActiveValue is read-only.
See the explanation of the purpose of each of the four levels here. Basically:
If you're querying for what value the setting has right now get the ActiveValue.
ActiveValue depends on the other three and will be the first of TemporaryValue, PersonalValue, and FactoryValue (in that order) that is set.
TemporaryValue gets cleared when MATLAB exits, PersonalValue and FactoryValue do not.