Never ever use "Trigger once" condition when multiple instances are involved! It doesn't work per instance, as long as one enemy has state=1, this condition will not be triggered for other enemies. If I had to name one thing in Construct that causes most problems and bugs when used incorrectly, it would be "Trigger once" condition :)
Instead, add more states, for example: got LoS, set state=1; started timer, set state=2; started burst, set state=3 etc.
But personally I don't like state machine events that are running on every tick. I prefer to do this with functions and "For each" loops, you have a much better control over it:
"For each" are important, because LoS and Timer may be triggered in one tick for multiple enemy instances.