Came across this post somewhat randomly today. Don't know if this has gone anywhere, but probably what is being done internally is actually correct. A decimal in Dataflex is a fixed point 32 digit number with 16 to the left and 16 to the right of the decimal. Javascript numbers are in Double precision 64-bit binary format IEEE 754. A JS number can't represent a number as large or precise as what a Decimal type in Dataflex can represent, so the safest way to represent it in JSON is as a string. There are MANY systems that do exactly this and then expect the developer to deal with it using something like BigDecimal. Heck, we've even come across some systems that dynamically return either a number or a string depending on what is being represented (which sucks really bad).

So, IMHO, not a bug :-)