An idea for an implementation of continuous collision detection of circles
I think you should determine the "next collision point" in your whole 16-ball-and-table-border system and adjust your simulation 'Delta t" depending on it. Rendering should be de-coupled from this anyway, or it will show irregular ball movements... .

Some further thoughts:


Collinear velocity vectors do not mean there is no collision - if v1 != v2 ...
In good pool games you can define the 'hit point', where the queue hits the ball. Then "curvy" ball trajectories are generated, etc. etc. 
Your system should also consider friction, therefore: v->0 over time. This should also affect your collision calculations.