If $x_{n+1}=f(x_n)$ and $x_{n+1}-x_n\to 0$, then $\{x_n\}$ converges
The answer is YES - I have fixed the proof of Hongyi:
Let $K$ be the set of sub-sequential limits of the sequence $\{x_n\}$. Then $K$ is compact, and since $x_{n+1}-x_n\to 0$, $K$ is also connected. (This requires some more work.) Hence $K$ is of the form $$ K=[a,b]\subset [0,1]. $$ If $a=b$, then we are done, since this means that the sequence $\{x_n\}$ has only one sub-sequential limit, and hence converges.
We shall next show that $a<b$ implies that $f(x)=x$ on $[a,b]$, and hence the sequence is eventually constant. This contradicts the fact that its sub-sequential limits are all the points of $[a,b]$.
Assume that $f(x)\not\equiv x$ in $[a,b]$, and let $x_0\in(a,b)$ with $f(x_0)>x_0$. (The case $f(x_0)<x_0$ is treated similarly.) Then there exist $h>0$, such that $$ f(x)-x\ge 0\quad\text{whenever}\quad x\in [x_0-h,x_0+h]\subset (a,b). $$ Since $b$ is a limit point of $\{x_n\}$, there exists $x_{n_0}\in (x_0+h,1]$, and the $n_0$ can be picked so that $$ \lvert x_{n+1}-x_{n}\rvert <h, \quad \text{when}\quad n\ge n_0. $$ This means that, if $x_{n_0}$ is very close to $b$, then $x_n$, $n\ge n_0$, CAN NOT get smaller than $x_0$, since in the whole interval $[x-h,x+h]$, $f(x_n)\ge x_n$. Thus, $a$ can not be a limit point.
Yes. Let $I = \lim_{k \rightarrow \infty} I_k$ where $I_k$ is the closure of $\{x_k,x_{k+1},...\}$. Note that because $x_{k+1}-x_k \rightarrow 0$, $I$ is connected, thus either a singleton or an interval. If $I$ is a singleton, we are done. If $I$ is an interval $(x_-,x_+)$, then $f(x)=x$ on this interval. It then follows, unless $x_k$ is constant for sufficiently large $k$, that $x_k$ is strictly monotone in $k$; and thus that the sequence must converge to some point within $I$.