Просто может переделать так, чтобы баны писались в разные таблицы ? Например, sb_bans_<индекс сервера>, а потом так же искались.
Зачем? Там же и так пишется индекс сервера, на котором был выдан бан, если банился на сервере, а не в веб-части. Фактически, в функции
public OnClientAuthorized(client, const String:auth[])
где идет
FormatEx(Query, sizeof(Query), "SELECT bid FROM %s_bans WHERE ((type = 0 AND authid REGEXP '^STEAM_[0-9]:%s$') OR (type = 1 AND ip = '%s')) AND (length = '0' OR ends > UNIX_TIMESTAMP()) AND RemoveType IS NULL", DatabasePrefix, auth[8], ip);
надо изменить запрос, чтобы еще и sid проверялся на соответствие sid'у из конфига, либо если sid=0 (веб-бан).
Я в SQL пока не достаточно разбираюсь, поэтому не могу сказать точно как изменить