There is absolutely nothing wrong with your code other than the fact that it's not a complete program that you posted (no divisions or sections, no levels on your data, possibly other things that I couldn't be bothered testing)
Well, that and the fact that the link to the online compiler site has long since gone, proof once again that SO question should be completely self-contained with all information needed. When posting questions and answers, I always ask myself if they'll still be useful if the rest of the internet totally disappears.
However, using that same site, the following program(a) does work as expected:
IDENTIFICATION DIVISION.
PROGRAM-ID. PAX-DIABLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 QualityPoints PIC 9v99 VALUE 4.00.
01 XValue PIC 9v99 VALUE 3.00.
01 Total PIC 999v99.
01 outTotal PIC zz9.99.
PROCEDURE DIVISION.
COMPUTE Total = QualityPoints * XValue.
MOVE Total to outTotal.
DISPLAY outTotal.
STOP RUN.
It produces the expected answer, as per the below transcript:
$cobc -x -free *.cobc -o main
$main
12.00
(a) See, this answer is self-contained, see how easy that was :-)