Não, eles não perderão as permissões.
Se um GRANT for executado para a mesma permissão por vários principais, o SQL Server o acompanhará. Ou seja, ele armazenará a permissão várias vezes diferenciada pelo principal que executou o GRANT.
Então, digamos que o Admin execute estes:
GRANT SELECT ON OBJECT::MyDb.dbo.MyTable to UserA WITH GRANT OPTION
GRANT SELECT ON OBJECT::MyDb.dbo.MyTable to UserB
Em seguida, o UserA executa a segunda instrução:
GRANT SELECT ON OBJECT::MyDb.dbo.MyTable to UserB
E finalmente o Admin executa isso:
REVOKE SELECT ON OBJECT::MyDb.dbo.MyTable TO UserA CASCADE
O UserB retém as permissões SELECT em MyTable porque foi aceito pelo Admin no primeiro lote.
No seu caso, todo o grupo não perderá o acesso, apenas o usuário ao qual o Bob concedeu o SELECT, supondo que ninguém mais tenha concedido a mesma permissão.
O único usuário manterá as permissões, no entanto, se elas fizerem parte de um grupo do Windows ou de uma função de banco de dados que também tenha as permissões. Ou seja, desde que a permissão não tenha sido concedida por Bob.