Hola cuburu,
Copie tu codigo y lo ejecute con una base que tengo en mi PC. Aqui te mando el codigo de nuevo con unas modificaciones, lo que te paso aqui funciona a la perfeccion.
Código Delphi
[-]
if btn_Conexion.Caption = '&Conectar' then
begin
MDODatabase1.Open;
btn_Conexion.Caption := '&Desconectar';
MDOStoredProc1.ParamByName('IP').AsString := Edit1.Text;
MDOStoredProc1.ExecProc;
ShowMessage(IntToStr(MDOStoredProc1.Params.Items[0].Value));
end
else
begin
MDODatabase1.Close;
btn_Conexion.Caption := '&Conectar';
End;
La unica diferencia es que saco los DataSets que tienes tu y bueno utilizo los MDO para conectarme.
Veras que muestro un mensaje, eso es para ver si me entregaba el valor nada mas.
En fin, espero que te sirva, no se cual puede ser tu error, pero el ejemplo que te envio funciona.
Suerte. Saludos!!!