Just caught this thread.
I'm sorry to hear that there are problems with Celtic III and how it parses its input. I *do* know that there are provisions in the code to strip out the decimal part of its input but there are no known provisions to parse anything abs(x)<0, if that's what you're trying to do.
Also, as far as the inputs for real(5) does, I'm looking at the source right now and I don't see any checks for invalid input. It expects the input to be correct. An addition of 2 bytes worth of code may resolve the issue, but I still don't support correcting mistakes caused by improper inputs, then hiding it from the user.