The fact that $f_T(0)\ne 0$ means that $T$ is an isomorphism. Otherwise, there'd be a nonzero vector $x\in V$ with $T(x)=0$, implying $f_T(0)=0$.
Since $W$ is invariant, there exists a $T$-invariant complement $U$ of $W$ in $V$ (this might need some further argument, but it is true), i.e. $V=W\oplus U$. Since $T$ is an isomorphism and $T(W)=W$, we must have $T(U)=U$. Let $v=w\oplus u$ a cyclic vector for $T$ with $w\in W$ and $u\in U$. Then, we have $T^i(v)=T^i(w)\oplus T^i(u)$ with $w_i:=T^i(w)\in W$ and $T^i(u)\in U$ for all $i$. These vectors span $V$, so the projections $w_i$ for $0\le i< n$ must span $W$. Let $W_i$ denote the span of the vectors $w_0,\ldots,w_i$. If $T(w_i)\in W_i$, then we have $T^k(w_i)\in W_i$ for all $k\ge 1$. Since the $w_i$ span $W$, this can only happen if $W_i=W$. Hence, we have shown that $w$ is cyclic for $T|_W$.