\documentclass{scrartcl}

\usepackage[ngerman]{babel}

\usepackage{glossaries}
\makeglossaries

\newglossaryentry{Foo}{name={Foo},description={Long"=Foo}}
\AtBeginDocument{
	\newglossaryentry{Bar}{name={Bar},description={Long"=Bar}}
}



\begin{document}

This works:

\gls{Foo}


changes in gls"=definition of "`Bar"' after a run that created .glsdefs won't have any effect. But the babel-break works:

\gls{Bar}


\printglossaries


\end{document}
