Hi there, first of all, shouldn't you be using "enemygen=1,2,3" instead of "0,1,2"? maybe I'm wrong, if it works as it is, then it's all right, I'm kind of a n00b here :P
My approach would be to have a number variable with kind of a "cooldown" effect instead of the "trigger once" condition, for example, I would set a "cooldown" variable to... I dunno... 500, and have an new event with "every tick" substracting 1 from that variable. Then have:
system enemygen=1
system compare variable: "if cooldown = 0"
That's one idea... maybe it'll come in handy. Hope it helps :P
EDIT:
Another idea, you could put a "wait 3 seconds" after every enemy spawning :) I think that could work too... you could give it a try.