You need to check on every movement.

Otherwise the following could happen:

Object A and B are close to each other.

You move A in direction of B. They now collide but you do not test.
You move B in direction of A.
You move all other objects (not of interest here)
What to do now? You check collisions and your result is: A + B collide. But how do you know how far you need to move A and B in which direction to seperate them again?

You see the problem?