That's exactly how global fields work. They are only "global" to each individual user, and they will only retain values that are set when the solution is accessed in single-user mode.
I think you'll find that there are many uses for global fields in multi-user solution. For example, they are great for selectable record filters.
One way to implement "constant" fields is to define them as calculations, where the calculation itself is a constant value. One benefit of doing it this way is that the values are truly constant- there's absolutely no way that they can change without changing the definition of the field itself. A global variable can be changed by any script, so you don't have the same value security.
thanks for the clarification. Now it starts to make sense. Instead of "global" it seems to be something which is in other communities called "session-local".
Also thanks for the hint about the calculation. That seems to be the best way to define constants.