Te la butto là:
La tua funzione anonima prende le variabili per valore, quindi $totCollQtaAgente è sempre 0 (o il valore assegnato all'inizio).
Inoltre, visto che stampi dentro la funzione avrai l'impressione di concatenare i valori:
(0+$item[0]:$tmpQta)(0 + $item[1]:$tmpQta)(0 + $item[2]:$tmpQta) etc
Prova a mettere &$totCollQtaAgente nel use
PS: Cmq, non mi pare che la callback di array_filter serva per quello che stai facendo tu. Dovresti usarla come discriminante per "prendere o scartare" un elemento dell'array originale