O problema é que a sua máscara faz com que o resultado final apenas mostre 04:00. Sem a máscara, iria facilmente perceber onde está o erro.
Veja o SQL Fiddle. Fica aqui também uma alternativa ao Fiddle (que mais uma vez está em baixo) rextester
Agora que percebemos o porque dos vários resultados (eu espero, porque a explicação está um pouco confusa), para corrigir o seu código e obter o total de horas para cada colaborador pode por exemplo, remover a conversão para minutos e trabalhar sempre com os segundos e só no final converter para TIME.