Another compiler option, then. What do you have for TRUNC.
Without TRUNC(BIN) your COMP PIC S9(4) can hold a maximum value of +9999 and a minimum of -9999.
If you move greater than 9999 to it, you will get truncation. Exactly how it truncates can depend on what you are MOVEing to it. If you don't have TRUNC(BIN) that'll be at least part of your problem. If so, show what you are MOVEing to the field and we can show what value you'd get after truncation. Could easily explain the situation you started out with.
If you don't have BIN, the best resolution is to make the field COMP-5, which will allow +/-32k-ish, the maximum values that the storage can hold, rather than the PICTURE defines.
If you have BIN, it is something else