that's fine, but shouldn't this work?
If you pick a sprite2, it should keep that picked.
So there's an issue going on here.
Like blackhornet said, there are 0 Sprite2 instances picked after event 2, so filtering these further with the 'is visible' check does nothing (well not nothing, it causes you to have 0 picked instances). You need a pick all (presumably followed by a 'pick instance 0') before the Is visible check.
The reason your last example works is because you didn't change the picking after the initial pick instance 0, so it's still picked further down.
Regarding your question about evaluation of OR conditions, from the manual under 'or blocks':
[quote:18nax3pc]Note that because OR blocks run if any condition is true, it's possible the event will still run if some conditions were false and did not pick any instances. In this case the actions will still run, but possibly with zero instances picked for any objects where no instances met the condition. If any actions are run for objects with no instances picked, nothing happens.