Thanks, that helped me identify the problem, which was quite a subtle one!
I've changed the way that variable substitution into \simplify works, and checked that the decimal value in your question is displayed the same as the others.
The difference between a 'decimal' and a 'number' value is that they use different underlying representations.
'number' is the original data type, using JavaScript's built-in floating-point number type. This doesn't cope well with extremely large or extremely small values, and small rounding errors can accumulate when you do repeated calculations.
'decimal' is a more accurate data type, which is guaranteed to be correct to 40 significant figures. The only reason it's not used everywhere is that it could break old questions written before it was introduced.
There are a couple of other data types representing numbers: 'integer' and 'rational'. As far as is possible without breaking backwards-compatibility, Numbas tries to use the best data type to represent a number, based on the operations you perform on it. That's why you see a mix of data types in your variables.