Why does a billiard ball stop when it hits another billiard ball head on?
Your analysis is correct up to the point when the two speeds are equal. This is also the point when the relative velocity is zero. But at this point the two balls are deformed (elastically). The forces acting on the two balls during approach is an elastic force. However small the deformation is, it is there. So what happens now is that indeed the two bodies start to fall apart (the distance between them increases) and they start to expand back to the original shape. The interaction force starts to decrease (does not drop to zero instantly). The work done during this second part of the process is the same as during the first part so the kinetic energies and velocities change by another on half. This is the difference between perfect elastic and non-elastic collisions. In the later case the two bodies do not expand back to the same shape (or not at all) so the exchange of velocities is not complete.
It may help if imagine a spring between the two bodies. When the velocities are equal, the spring is still compressed. Actually it has maximum compression. So obviously the force exerted by the spring is not zero as it starts to expand.
Note:A nice example is considering a rubber ball bouncing off a ground(suppose perfectly elastically), in that situation there is also a point where the relative velocity with the ground is zero(when the ball is momentarily at rest with the ground) but still the ball rises up due to elastic forces as it gains kinetic energy due to the energy stored through the deformation it had initially endured.
You are forgetting about conservation of energy. You need to impose that
$$mv = mv_1 + mv_2$$ and $$\frac{1}{2}mv^2 = \frac{1}{2}mv_1^2 + \frac{1}{2}mv_2^2$$
And this is only solved by $v_1=0$ and $v_2=v$.
I think when you visualize the impact, it's a bad idea to think of the balls as completely rigid objects. We can think of the impact as if there's a massless spring between them. Even when they get to the same velocity, the spring will continue pushing the balls until the incoming ball loses all its speed and the speed of the other ball gets to maximum. That will be the moment when they lose contact.