Probably you are not picking instances with the other events but we can't see them. If you change variables only then it will be fine. If it forgets the picked instances then it must be down to the condition which is from Construct 2, not really worth breaking down why that does or doesn't work as it's difficult/impossible to recreate.
You should use the Construct 3 functions, or potentially as a workaround store the UID of the instance in a local variable amongst your other local variables that means at least you don't have to rely on picking from the event which is running every tick. If you have saved the instance in question as a local variable then nothing can really go wrong.