Hola.
Hice la prueba y este código asigna correctamente todos los permisos al usuario enviado:
Código PHP:
void __fastcall TForm1::grantAllpriv( const AnsiString userName )
{
TIBStoredProc *sp = (TIBStoredProc*)(IBStoredProc1);
sp->Database = IBDatabase1;
sp->StoredProcName = "SP_GRANT_ALL_TO";
sp->Params->Clear();
sp->Params->CreateParam(ftString, "TCNOMBREUSUARIO", ptInput);
sp->Params->ParamByName("TCNOMBREUSUARIO")->AsString = userName;
sp->ExecProc();
sp->Transaction->CommitRetaining();
}
Saludos