It's supposed to work like that, so you can for-each over a selection of objects, eg:
+ Sprite X is less than 500
+ For each Sprite
will only for-each the sprites left of X=500. 'Create object' sets the SOL to just the created object, so for-each following a 'create' will only run once, for that instance.
In your example, the for each is completely redundant, because both actions operate on all picked instances anyway. You could replace it with an 'always' subevent to get around the create object picking.