Lo primero de todo es ver qué tipo de SP es, si es de actualización o de selección (pon el código del SP).
En base a una u otra elección, hay que ejecutarlo de forma distinta.
Por regla general, si lleva la palabra
Suspend dentro del SP, entonces es un SP de selección y por ende, hay que usarlo como una tabla más:
Código Delphi
[-]query1.Sql.Text := ' select * from SPDameNombre(32)';
query1.Open
Si es de actualización / ejecución, debes llamarlo tal y como lo estas haciendo.
Saludos