1. $k$ is not $g'(x_0)$. $k = k(h) = g(x_0 + h) - g(x_0)$ is a function of $h$. Each value of $h$ gives a different value of $k$. While the limit as $h \to 0$ is $0$, this does not mean every value of $k$ has to be $0$. For example $x_0 = 0, g(x) = x^2$. Then $k(h) = (0+h)^2 - 0^2 = h^2$. If $h \ne 0$, then $k \ne 0$. Excepting when $g$ is constant near $x_0$, it is actually harder to come up with cases where $k = 0$ than where it does not.
  2. Of course it is! Why do you suspect it isn't? As for writing it more formally, you have examples of exactly that in your post. What more are you looking for? There is nothing wrong with Leibnizian notation, provided you understand what it is actually saying and don't try to misinterpret it. Non-Standard Analysis even allows you to think of $\frac{dy}{dx}$ as being an actual division, though of infinitesimals, not ordinary numbers.
  3. Not quite. The assumption that $f\circ g$ is differentiable at $x_0$ is unnecessary. It follows from the differentiability of $g$ at $x_0$ and $f$ at $g(x_0)$. They also make use of a few properties of limits that are presumably proved elsewhere. But then that is a main point of proving things: so that you can make use of them to simplify later proofs.