Yo propondría usar una función como COALESCE(valor, Valor_Defecto_Si_Es_Nulo).
Código SQL
[-]
CREATE OR ALTER PROCEDURE CUENTATOTAL_3X_1 (
P_DT_INICIO TIMESTAMP NOT NULL,
P_DT_FINAL TIMESTAMP NOT NULL
)
RETURNS (
P_TOTAL_3X_1 INTEGER,
P_CUENTA_3X_1 TYPE OF COLUMN DATOS.PESO
)
AS
BEGIN
FOR SELECT
COUNT(*),
COALESCE(SUM(PESO),0)
FROM DATOS
WHERE (FECHA >= :P_DT_INICIO AND FECHA <= :P_DT_FINAL)
INTO
:P_TOTAL_3X_1,
:P_CUENTA_3X_1;
SUSPEND;
END
Eso sería...