The reason is because you are trying to remove field editing. 567123.45in the data does not match PIC S9(6)V9(2), but -9(6).9(2).are the internal stored data and print data. A.
A simple change of definition and use MOVE WS-VALUE TO WS-VALUE-INTERNAL(which is defined the way you want) can work with a specific compiler (and specific data), but I would go the other way:
, - ( ).
, , WS-CLIENT IS NUMERIC, WS-VALUE, , , MOVE FUNCTION NUMVAL(WS-VALUE) TO WS-VALUE-INTERNAL.