You don't need anything to pick a random instance, just that exact event you are using.
The problem here is that C2 seems to work the same way CC worked. That means if you create an instance it is only accessible in the same event, where it is created. Any other events can only access it one tick later. The instance is created at the end of the current tick, so when you tell C2 to choose a random instance, there are no instances to choose from.
If you give it at least one tick time, it works. For example, make the random pick event a subevent just like this:
+ (empty) -> System Wait 0.1 seconds
++ Pick a random ...
how long you have to wait is dependant on the framerate. With 60 fps one tick needs about 17 ms. If it also is a stable framerate, then waiting 0.02 seconds would be enough.
You could also store the current tickcount to a variable in the function, and then outside the function check if tickcount = variable + 1, and if so pick a random instance.