Yes, you're right...
But in my case, it is not exactly what you explain.
I created 2 arrays with values I defined "manually" (aval[1]=0.40 ; aval[2]=0.45 ; aval[3]=0.50 ; etc.).
So, it seems that it is not rounding because I assigned each value line by line.
If I compare the value 0.30 to another value 0.30, it's ok. It's also ok with 0.50, 0.55, 0.60... But when I compared 0.45 to 0.45, I got this trouble.
In the same idea, I created an array with values as before.
In the dialog (palette), I converted these values from arrays to strings to make a combobox.
In Allplan 2014, for the value 1.15, I got "1.14" but in Allplan 2015 to 2020, with the same SmartPart, I got 1.15...
So, i'm not so sure that "That has nothing to do with special behaviour of SmartParts!" as you said.
It's not a judgment, it's a statement. I adapt and continue my work...