I might overlook something, but from a quick look at the events, Construct does exactly what you order it to do.Sprite.Right Lower or equal Sprite2.Left
If Sprite2.Left is 100, then this is true for 0 to 100, if you negate it, it becomes true as soon as Sprite.Right is 101, and that's 1 Pixel overlapping.
It should work, when you change all conditions to just 'lower than'Sprite.Right Lower than Sprite2.Left
Is true for 0-99, if Sprite2.Left is 100. Negated it is true as soon as Sprite.Right is 100 == no overlapping
But in general pixel perfect condition testing can only be done reliable, when not
using v-sync (have a look at TimeDelta
on the wiki, if you are not sure if this is important to you)