I am trying to make it so that once all of the sprites in a list are set to visible false that it switches to the next screen.
When a Sprite's Visible property is changed (under whatever event you're changing that property in), iterate through the list, and check the Visible property of each component (using the respective Any Component block).
Initialize a local variable as false, right outside the for loop.
If the aforementioned check for the Visible property returns True, set the variable to True and break from the loop. Since you know one Sprite is already visible, you do not need to check the others.
If this search returns False for every element, the value of the variable will remain false.
Outside of the for loop, but still inside the variable initialization block, check if the variable is false: if it is, redirect to the other screen.
I will try to replicate this in blocks, but it will take me a while since I'm on phone.
The ImageSprite.Visible of component block can be found under the "Any Components" section of the blocks palette.
Before switching Screens, make sure to turn all Clock timers off. Also, since this seems like a game over screen, it may or may not be easier to use virtual screens (depending upon the complexity of the app) instead of a separate game over screen.