First read this: https://www.scirra.com/manual/75/how-events-work
Do yourself a favor. Else you have no idea what i am rambling about.
Secondly, dont workt that way in construct. It is not readable. Grab that line in the middle (between conditions & actions), drag it to the right, so you see more of the conditions on one line.
Tird. Would be so much easyer if you dropped the capx.
But ok. In event 72. You pick the object that is dropped AND all the others it is overlapping with. I have ofcourse no idea if it can overlap more then 1 object. Lets assume not. So you have now 2 objects picked. And both are instances of the same object. Thats a guess, i cant see it with every block so compressed.
In event 73 you, with those two objects picked, you gonna filter out that list of those two objects further. You pick any of those 2 objects who's instance variable ID is same as the instance variable ID of any of those two objects. This includes the objects themself. Ofcours ID of the same object is the same. This makes both objects still picked. So, the actions run on both objects. And the instance bolean Correct of both objects get set to true.
And this is not what you want. You read those condition wrong. I know that most programming works like IF THIS, THEN THAT. But that is not really the case in Construct.
There are conditions that do not filter the picked (selected) objects. Like the System > Compare two values. They are of a pure if this then that type. Almost all others, and usaly you have to select an object when making that condition, DO FILTER the PREVIOUS PICKED LIST OF OBJECTS.
I know that the manual says: actions run when the condition is true. But actions need also objects to run on. If the condition filters all objects out, the action has no objects to run on.
Back to your problem. This is solvable. But it depends on if you have acces to families or not.