Cauchy's Theorem for Abelian Groups
Your proof is incorrect. You know that $(x^k)^p=e$ (for any $x\in G$), but this does not necessarily mean $x^k$ has order $p$. All it tells you is that the order of $x^k$ divides $p$, so it is either $1$ or $p$.
In fact, your approach cannot work without some major modification. It is possible that $x^k=e$ for all $x\in G$, so there is no element of the form $x^k$ which has order $p$. For instance, if $G=(\mathbb{Z}/p\mathbb{Z})^2$, then $|G|=p^2$ so $k=p$, but $x^p=e$ for all $x\in G$.
From $x^{kp}=e$, what you can deduce is that $(x^k)^p=e$, and therefore, that $|x^k|$ divides $p$; that is, that it is equal to $p$ or equal to $1$ (that is, $x^k=e$). How do you know that it is equal to $p$?
And where did you use that $G$ is Abelian?