The "save" was introduced in SetEnv v45.0 I think, rather quirky thing to add as it breaks compatibility and is not at all intuitive.
So, with 3.9 there was C:SetEnv, v45.0, but in addition there is the built-in resident SetEnv in shell. If I recall correctly, the SetEnv in the shell v44+ behaves like C:SetEnv 45.0, but only ThoR knows for sure.
I suppose C:SetEnv was made for those who for whatever reason, cannot update the kickstart with the ROM update, it is suggested to make C:SetEnv resident, by replacing the internal (v40) shell command:
Resident C:SetEnv PURE REPLACE