Pues lo mas seguro es que tengas que realizar Derbugs tu mismo, ^_^ un método que suelo usar es el echo para saber si se están escribiendo las variables ejemplo:
Código PHP:
Ver originalwhile($db = sqlsrv_fetch_array($filtro)) {
$row['idpublivac'][$i] = $db['idpublivac'];
$row['Cargos'][$i] = $db['Cargos'];
$row['Gerencia'][$i] = $db['Gerencia'];
$i++;
echo "El valor de i: $i, el valor de row[idpublica][i]: " .$row['idpublivac'][$i] . ", y asi...";
$otra_opcion = "El valor de i: $i, el valor de row[idpublica][i]: " .$row['idpublivac'][$i] . ", y asi...";
echo "<script>alert('$otra_opcion');</script>";
}
El primer echo podrás visualizar el cambio al dar click derecho sobre la pagina, opción: "ver código fuente"
El segundo echo es mucho mas fácil de visualizar puesto que se ejecutara esa sentencia javascript una vez cargues la pagina...
En fin te toca ir depurando errores ^_^...