Ok I figured it out, it turned out that (if my proof is correct) the proof is really cute.
Firstly, if $x_{1}\neq 0$, then $\{x_{1}\}$ is clearly independent and by part (a) generates $B_{1}$ and thus a basis of $B_{1}$.
Suppose for some $k\geq 2$, $\{x_{1},\cdots, x_{k}\}$ has nonzero elements $\{x_{k,1},\cdots, x_{k,s}\}$ which form a basis for $B_{k}$, then if $x_{k+1}=0$, then the set $\{x_{1},\cdots, x_{k+1}\}$ has nonzero element $\{x_{k,1},\cdots, x_{k,s}\}$ which is hypothesized to be independent. In particular, they can surely generate $x_{k+1}=0$, and thus they can generate $B_{k+1}$. Thus, they form a basis for $B_{k+1}$.
If $x_{k+1}\neq 0$, then the set $\{x_{1},\cdots, x_{k+1}\}$ has nonzero elements $\{x_{k,1},\cdots, x_{k,s}, x_{k+1}\}$, since $\{x_{k,1},\cdots, x_{k,s}\}$ generates $B_{k}$, by part (a), we see that $\{x_{k,1},\cdots, x_{k,s}, x_{k+1}\}$ generates $B_{k+1}$. Now, observe that $\{x_{k,1},\cdots, x_{k,s}\}$ cannot generate $B_{k+1}$, since they are all elements have coordinates being $0$ at and after the $k^{th}$ coordinate, they can surely generate some element in $B_{k+1}$ (in fact they are elements in $B_{k+1}$), but they will miss some elements with the $k^{th}$ coordinate not being $0$ but with coordinate being $0$ starting from $(k+1)^{th}$. Thus, $\{x_{k,1},\cdots, x_{k,s}, x_{k+1}\}$ is the smallest generating set of $B_{k+1}$ and thus it is a basis of $B_{k+1}$.
The result then follows immediately by an induction on $k$.
Best Answer
Your proof is correct. Maybe one could restate it this way: if $F \le \mathbb{Z}^r$ has index $n$, then the quotient $\mathbb{Z}^r/F$ is an abelian group of order $n$. Let $e_i$ generate the $i$th $\mathbb{Z}$ factor and let $\pi\colon \mathbb{Z}^r \to \mathbb{Z}^r/F$ be the quotient map. The order of $\pi(e_i)$ in $\mathbb{Z}^r/F$ divides $n$, as you say. In particular, $\pi(ne_i) = n\pi(e_i) = 0$. Thus for each $i$, $1\le i\le r$, $ne_i$ is in the kernel of $\pi$, which implies that $ne_i$ is contained in $F$. But then the subgroup they generate, namely $n\mathbb{Z}^r$, is also contained in the kernel.