The last step is wrong, but the problem is not that you require that the $\left| u_k \right>$ be normalized which can always be done without loss of generality. The problem is that $\left< \partial_\lambda u_k \middle| u_k \right>$ can be non-zero (however, it will always be imaginary, and since $a_k$ is real the second term will vanish nevertheless).
Assuming normalized states, we get (dropping the index $k$ for brevity):
$$ 0 = \partial_\lambda \left< u \middle| u \right> = \left< \partial_\lambda u \middle| u \right> + \left< u \middle| \partial_\lambda u \right> = \left< \partial_\lambda u \middle| u \right> + \left< \partial_\lambda u \middle| u \right>^*. $$
And for a complex number $a + a^* = 0$ does not imply that $a = 0$, but only that $\text{Re}\,a = 0$.
If the states were not normalized, you would have to adapt your expression for the expectation value from the beginning, and use
$$ \left< A \right>_\psi = \frac{\left<\psi \middle| A \middle| \psi \right>}{\left< \psi \middle | \psi \right>}, $$
and then you can check that everything still works out.
Also note, that the normalization is used before the last step, for example $ \left< u_k \middle| A(\lambda) \middle| u_k \right> = a_k(\lambda)$ does only hold if the $\left|u_k\right>$ are normalized, in general:
$$ \left< u_k \middle| A(\lambda) \middle| u_k \right> = \left< u_k \middle| a_k(\lambda) \middle| u_k \right> = a_k(\lambda) \left< u_k \middle | u_k \right>$$
Story time: The non-vanishing of the imaginary part of $\left< u_k \middle| \partial_\lambda u_k \right>$ plays a prominent role in the expression for the density of the Berry phase, when considering the evolution of a quantum system subject to adiabatically changing external parameters $\lambda$.