I believe that doesn't quite work. Note that if we set $k = 1$ then there is at least one $p_i \mid \sum a_i$, such that $p_i$ divides $c$. So $c \equiv 0 \pmod{p_i}$ so $\sum a_i^k \equiv 0 \pmod{p_i}$ for any $k$ multiple of $p_1$ in that case. So the congruence for $p_i$ doesn't really hold for that $k$.
As an example, take $a = (2, 3, 6)$ and consider $k = 1, 2, 3$. We get:
$$2 + 3 + 6 = 11$$
$$2^2 + 3^2 + 6^2 = 49 = 7^2$$
$$2^3 + 3^3 + 6^3 = 216 = 2 \times 11 \times 13$$
So our set of primes here is $\{ 2, 7, 11, 13 \}$. Your proof claims that we can always find a larger $k$ which is not divisible by any of the primes in this set (and hence the set was not in fact complete, showing it must be infinite). Your proof proceeds by taking $c = 2 + 3 + 6 = 11$, and then computing multiplicative orders of $c$ modulo $2, 7, 11, 13$. But $c$ has no order modulo 11! Even if we redefine $b_i$ as something sensible like $p_i - 1$ (since $b_i$ must divide $p_1 - 1$ by Lagrange's theorem) your congruence fails for 11, and in fact $11$ will divide $\sum a_i^k$ for any $k$ divisible by 11.
So the congruence does not hold for all primes in the set, and so it does not follow that $\sum a_i^k$ for such $k$ must be divisible by a prime not in the set.
I like your approach though. It might be possible to modify it so that it does work!