Да, это абсолютно безопасно (на большинстве компиляторов). Я бы порекомендовал добавить точку останова и посмотреть, как выполняется присвоение вашего конкретного компилятора. Я не могу сказать вам, сколько раз "стандарты" нарушаются.
Если вы назначаете локальную статику из результата вызова функции или метода, то вы, скорее всего, будете иметь дело с состоянием гонки. Присвоение констант примитивному типу обычно оптимизируется.
На g ++ для OS X 10.6.2 это машинный код, сгенерированный для вашей функции:
push rbp
mov rbp,rsp
lea rax,[rip+0x2067] # 0x100003170 <_ZZ7dostuffvE9somevalue>
mov eax,DWORD PTR [rax]
leave
ret
Как видите, назначения нет. Компилятор запек примитив во время сборки.