If you want same object, then you must use families. Create two: 1st, 2nd ( just for tests ), and do events like this : 1st overlapping at offset 2nd, destroy.
Thing is... looking at the capx, this way you will destroy all, probably.
Eventing in construct s really context dependent. Again, looking at capx it's hard to know what you're after. If in your game objects that are surrounding main objects are not the same, then what you're doing right now is, sorry to say, pointless. But if they are the same object, then you mist go deeper. So you must do conditions for two situations: one is that object s surrounding same object, but only at one offset, then use or ( and families ), but you must find a way to specify that if objet os surrounded from 4 sides, it is not being destroyed. Boo ( boolean ) var ( variable) might help in achieving this.