Ist mir noch gar nicht aufgefallen (hätte die Werte besser zweimal nacheinander ausgeben lassen). Wie wird gewechselt bzw. wo wird der letzte Wechsel ob auf oder ab gespeichert?
Wäre in dem Fall ja schwer bis gar nicht vorhersagbar, ob ein Round nun gerade auf oder abrundet. Man kann in der C++
DLL ja nicht vorhersehen, wie die Zahl beim nächsten mal von Delphi behandelt wird.
€: Der Wechsel ist wohl auf einen Funktions-Block beschränkt. Neuer Block, immer erst mal aufrunden. Ist aber dann fast einfacher, für Delphi und C++ eine mathematische Version zu verwenden, statt zu versuchen, das in C++ zu raten?
€2: Also runden wie in Delphi nachbauen OK. Runden wie Delphi den gleichen Datenbestand runden wird/würde, schwer bis unmöglich.