This is another case of the "newly created instances are not fully available until the next top-level event" quirk.
If you create an object, you can use it in the same event and sub-events, but not in sibling events, until the next top-level event. Since those events are all in a group, the newly created object is not available in subsequent events, until the end of the group (which is the "next top-level event" point).
The reason for this is to make the event engine fast, it assumes the internal data structures do not change while running events. Creating an instance changes the internal data structures, but this change is delayed until the next top-level event when it is safe to update the internal data structures, because it's not half-way through running events. We could remove the limitation by slowing down the entire event engine for everyone (i.e. adding regular checks for "did the internal data structures change" through the entire event engine). But that makes all Construct games slower just to solve this quirk, so it doesn't seem a reasonable thing to do. And if we break the assumption that internal data structures do not change, it ends up with crash bugs - and user reports of exactly those crashes is what led to the current "wait until next top-level event" workaround. So the quirk lives on.
Ah, thanks for the clarification. That explains things.
Is there anywhere where I can read more about how the event engine processes things, and especially in regards to quirks that might be good to keep in mind? I feel like I frequently run into problems like these.
Also, thanks to everyone who took the time to help figure this out. Thank you.