I noticed that the order of loading mathabx and ngerman is essential. In this non-working minimal example
\documentclass{standalone}
\usepackage{ngerman}
\usepackage{mathabx}
\begin{document}
$\rightarrow$
\end{document}
which creates the error
[...]\MiKTeX\2.9\tex\generic\mathabx\mathabx.dcl
! Missing number, treated as zero.
<to be read again>
\protect
l.435 ...eMathSymbol{<} {3}{matha}{"A0}
the problem can be avoided by reordering the includes to
\usepackage{mathabx}
\usepackage{ngerman}
which appears odd to me. Is that a bug or a feature?
If I were only using one symbol, I would follow the suggestion mentioned in conflict between mathabx and other packages, but with more symbols, that solution is rather annoying.
ngerman
package is obsolete; you should do\usepackage[ngerman]{babel}