Pelo que entendi, ta super confuso o que vc quer fazer!
O que entendi:
Dado um array de dados
Usando um loop(while) você quer verificar se o status é "OK" ou "not Found"
Se for Ok o incrementador será incrementado!
E passa para o proxima posição do array.
Se der erro(não importa o erro)
O incrementador não será incrementado
Ira retestar na mesma posição do array
Se der erro testa de novo e denovo e denovo até o resultado ser "ok"
Assim o incrementador será incrementado
Passando pra a proxima posição do array?
é isso?
Seu código ta mostrando no "not found" o incrementador sendo incrementado.
else if(res.statusMessage == "Not Found"){
console.log('deu errado');
i++
}else
Ai não entendi