Simplesmente dizer ao ZTIUtility para reportar um erro não informa ao seqüenciador de tarefas que ele falhou. Eu acredito que você precisa definir iRetVal para algo diferente de "0" e depois retornar.
O que eu faria se, em seu lugar, configurasse o serviço da Web para relatar a participação no grupo e, em seguida, adicionar alguma lógica para determinar se o grupo válido está presente. Se não, defina iRetVal para qualquer número e, em seguida, acho que você é bom.
Espero que isso ajude!