die von dir zitierte Stelle war auf jeden Fall nicht ideal/korrekt und ist in der aktuellen Development-Firmware (V 0.91.39, siehe https://github.com/RF1000/Repetier-Firm ... evelopment ... evelopment) auch bereits behoben. Ich kann aber nicht sagen ob exakt diese Stelle den beobachteten Crash verursachen konnte weil dieser bei uns leider weiterhin nicht wirklich reproduzierbar ist.
In dieser Version der Firmware wurden alle Positions-Variablen von short auf long umgestellt weil jetzt auch bis zu 64 Mikrosteps (statt bisher

In dieser Version der Firmware ist auch FEATURE_ENABLE_MANUAL_Z_SAFETY per default auf "1" (also aktiv). Das sollte den Endschalter ebenfalls absichern.
Die noch immer vorhandene Stelle in motion.cpp sollte so bleiben können wie sie ist, da die verwendeten Variablen nun ja vom Typ long (und nicht mehr short) sind.
mfG
Euer RF1000