$(X,\mathscr T)$ is compact $\iff$ every infinite subset of $X$ has a complete limit point in $X$.

Your proof is correct. For the converse, suppose $X$ is not compact. Let $\mathcal{O}$ be an open cover of $X$ of minimal cardinality [such that no finite subcover exists], and let $\{O_\alpha\}_{\alpha < |\mathcal{O}|}$ be an enumeration of $\mathcal{O}$. Construct a set $A$ as follows:

  • let $x_\alpha \in X$ be any element not covered by any of the $O_\beta$ for $\beta < \alpha$. Such $x_\alpha$ exists or else $\{O_\beta\}_{\beta < \alpha}$ would be an open cover, contradicting the minimality of $|\mathcal{O}|$.
  • let $A = \{x_\alpha : \alpha < |\mathcal{O}|\}$

We'll show that $A$ has no complete limit point. Indeed, for any $x \in X$ there is some $\alpha$ such that $O_\alpha$ is a neighbourhood of $x$, but $O_\alpha$ avoids all the $x_\beta$ for $\beta > \alpha$, and so:

$$\left |A \cap O_\alpha\right | \leq \left|\{x_\gamma : \gamma \leq \alpha\}\right| = |\alpha| < |\mathcal{O}| = |A|$$