The code sample in the first post of this thread will also fail, even after your suggested 'fix', if instead of "2" you use "3.5" (for example).
i.e.
string formel = "x+3.5";
Expression e = new Expression(formel);
e.Parameters["x"] = 2.5;
var result = (decimal) e.Evaluate();
will fail with "Operator '+' can't be applied to operands of types 'decimal' and 'double'"
https://ncalc.codeplex.com/discussions/528933
i.e.
string formel = "x+3.5";
Expression e = new Expression(formel);
e.Parameters["x"] = 2.5;
var result = (decimal) e.Evaluate();
will fail with "Operator '+' can't be applied to operands of types 'decimal' and 'double'"
https://ncalc.codeplex.com/discussions/528933