It's working correctly...but look at your setup:
You are birthing 200 particles over 200 frames, which means 1 particle is being birthed per frame.
Your Split operator timing is set to entry, so each frame only a single particle (the new one being birthed) is being affected by the Split operator.
You have your split % set to 50%...the split operator works in whole numbers (it's calculating how many particles to send, given the percentage you specify), so: 1 x 50% = 0.5, rounded = 1. So each frame a single particle is being sent - the one being born. That results in all particles being sent.
If you adjust your % to 49% you'll see that no particles are sent because: 1 x 49% = 0.49, rounded = 0. So each frame zero particles would be sent.
Use "random chance" mode if you want to work in probabilities, rather than percentages.
You are birthing 200 particles over 200 frames, which means 1 particle is being birthed per frame.
Your Split operator timing is set to entry, so each frame only a single particle (the new one being birthed) is being affected by the Split operator.
You have your split % set to 50%...the split operator works in whole numbers (it's calculating how many particles to send, given the percentage you specify), so: 1 x 50% = 0.5, rounded = 1. So each frame a single particle is being sent - the one being born. That results in all particles being sent.
If you adjust your % to 49% you'll see that no particles are sent because: 1 x 49% = 0.49, rounded = 0. So each frame zero particles would be sent.
Use "random chance" mode if you want to work in probabilities, rather than percentages.