As far as I know, this is probably because of one or two things:
1) In your "Start Level" Trigger, you have a "Preserve Trigger" function.. as for this only happening twice, my best guess is that the third dark templar that's going to be created is being pushed off the beacon...
If this is the case, then a multitude of dark templars should be created indefinitely... so that probably rules out this scenario.
If, though, you have a trigger that moves the civilian off the beacon, then there's a possibility that, before the civilian has a chance to move off, the "Start Level" trigger is being repeated once.
2) You have two copies of the same trigger.