The contrapositive is wrong. To say $x_n \
ot\rightarrow x$ is to say
\begin{equation} \exists\epsilon>0 \text{ s.t. } \forall N \in \mathbb{N} \: \: \exists n \geq N \text{ s.t. } d(x_n,x) \geq \epsilon \end{equation}
And not
\begin{equation} \exists\epsilon>0 \text{ s.t. } \forall N \in \mathbb{N} \: \: \forall n \geq N \text{ s.t. } d(x_n,x) \geq \epsilon \end{equation}
The first allows the existence of the subsequence because not all $n$ are obligated to satisfy $d(x_{n_k},x) \geq \epsilon $.