No te seria mas sencillo usar Componente ADOStoredProcedure??
De esta manera podrias recuperar el valor sin problemas.
Código Delphi
[-]with storedprocedure then
begin
Close;
UnPrepare;
ParamByName('parametros').TipoDato:=Valor;
Active:=true (Solo si es una consulta) o ExecSQL;
resultado:=ParamByName('parametro que quieres recuperar').TipoDato;
Yo uso Oracle y uso este sistema y me va de maravillas.
Espero te vaya bien.
Saludos.