I assume you're talking about this sort of thing:
Code:
PROCEDURE someprocedure:
/* do something */
RETURN /* somereturnvalue */.
END PROCEDURE.
A procedure RETURN-VALUE is always a character, or maybe a Progress.lang.error object for a RETURN ERROR. You can define the datatype for a function return, but this isn't the same thing.
Personally I restrict RETURN-VALUEs to return simple error/ok conditions and use an output parameters for anything else.