Problems with TIBStoredProc

Hi :

My code is :
CREATE PROCEDURE GET_PRODUCTO_DEFAULT_COSTO (
    COD_PROD INTEGER,
    COD_PROV INTEGER)
RETURNS (
    COSTO_PROD DOUBLE PRECISION)
AS
DECLARE VARIABLE COSTO_DEFECTO CHAR(1);
DECLARE VARIABLE COSTO DOUBLE PRECISION;
DECLARE VARIABLE COSTO_PROMEDIO DOUBLE PRECISION;
begin
  select costo_defecto, costo, costo_promedio
  from iproducto where COD=:cod_prod
  into :costo_defecto, :costo, :costo_promedio;
  if (:costo_defecto='C') then costo_prod = :COSTO;
  else if (:costo_defecto='P') then costo_prod = :costo_promedio;
  else if (:costo_defecto='I') then
        begin
          select PRECIO_COMPRA from iproducto_proveedor
          where (COD_PROVEEDOR=:COD_PROV) and (COD_PRODUCTO=:COD_PROD) and
          (FECHA=(select MAX(FECHA) from iproducto_proveedor
                  where (COD_PROVEEDOR=:COD_PROV) and
(COD_PRODUCTO=:COD_PROD)
          ))
          into :costo_prod;
          if (costo_prod is null) then costo_prod=0;
        end
  suspend;  (I tried with "exit" too)
end

The problem is that if I use the TStoredProc component, the param always
return NULL. If I use an TIBSQL with an statement like this :
select costo_prod from get_producto_default_costo(:COD_PROD, COD_PROV)
I obtain the expected result. Can anyone help me ???

I'm using Delphi 6 with IBX 6.5.

Best regards...

Nestor