It's a limitation of sorts. A forum search of "top level event" should give some topics about this.
Basically event 1 is a top level event, and event 2 is a sub event.
When you create and object it becomes the only picked object of that type. However it isn't added to the sprite list yet.
I think I explain it better in another post
Say there are 3 sprites, with uid's 1,2 and 3.
When event 1 starts c2 internally has these three lists.
Sprite 1,2,3
Picked 1,2,3
New empty
So an object is created with uid of say 4 and at the beginning of event 2 the lists are as follows:
Sprite 1,2,3
Picked 4
New 4
Notice the new object isn't added to the sprite list yet.
In event 2 the "pick all" condition only picks everything in the sprite list, so the result is:
Sprite 1,2,3
Picked 1,2,3
New 4
Finally after event 2 there are no more sub events of event 1 so this is a top level event and the new list is merged with the sprite list.
Sprite 1,2,3,4
Picked 1,2,3,4
New empty
Anyway there are a few ways to deal with this.
One I've used is to just create the objects in one start of layout and effect the sprites in a second one:
Start of layout
--- create sprite
Start of layout
--- sprite: set opacity
Another way could be to do your events as you have it but modify the new object as you create it and use pick all to affect the existing objects.