Bei Verwendung von Gleitkommazahlen (SINGLE und DOUBLE) ist zu beachten, dass viele Dezimalzahlen nicht genau repräsentiert werden können. SINGLE hat eine Auflösung von 24 Bit und DOUBLE eine solche von 53Bit. Dies entspricht bei SINGLE etwa 8 Dezimalziffern und bei DOUBLE etwa 16 Dezimalziffern. (ich verwende hier Dezimalziffern anstatt Dezimalstellen, da auch die Ziffern vor dem Komma miteingerechnet werden müssen)
Zu Deinem Beispiel mit 50.16666667 ist das 50.166666. Der nächste entsprechende Binärwert im SINGLE Format ist 50.16666793823242 und entspricht ziemlich genau der Ausgabe von BASCOM-AVR.

Die Problematik trifft auch auf Dein ACOS Beispiel zu. Der exakte Wert für 0.999999958 im SINGLE-Format ist 0.9999999403953552. Berechnet man für diesen Wert den ACOS Wert bekommt man 0.000345266985 was dem Ausgabewert von BASCOM-AVR wiederum recht genau entspricht.

Die begrenzte Genauigkeit von SINGLE muss daher bei den Berechnungen berücksichtigt werden.

DOUBLE hat natürlich eine wesentlich bessere Genauigkeit. Auch EXCEL verwendet das DOUBLE-Format. In BASCOM-AVR wurden die trigonometrischen Funktionen so programmiert, dass sie in der Genauigkeit in etwa denen von EXCEL entsprechen sollten.
Daher hätte mich Deine Beispielsrechnung interessiert, welche bei Dir die Differenz von 4m ergibt.