I would have a variable called all = 0
Then you can have a for each loop ( for each physics object )
Check Y and X velocity of each add them up ( use abs() so it is always a positive number ) and when below ( just a guess ) 10 it counts as not moving and if so add 1 to all variable. Just under the loop reset all variable back to 0
Now if you have 20 physics object and they all register as not moving, that all variable will reach 20 before being reset, so just before resetting add another event/sub-event, if all = 20 do whatever you need to do when they all stopped moving.
Depending on your game you may need to keep track of X and Y velocities separately, You can use a number higher than 10 or lower, you can decide after a few test runs. I just checked my golf game, I use < 10 for X velocity and < 0.2 for Y velocity and if both are met trigger not moving.