oosyrag haha, I too still learning basic things about Construct. A few weeks ago someone told me that the default order of instances is based on their zIndex, not on their UID or the order they were added to the layout. I always thought that an instance with IID=0 is the instance with the lowest UID. (facepalm)
By the way, the order of conditions is especially important when using "For each" loops. I prefer picking the instances first, then iterating them, I believe it's better for performance:
Enemy is on screen
Enemy is overlapping Zone
For Each Enemy
......