I am using the yanfly party script. I did look at that first, but as far as I can see nobody else seems to have this problem.
The yanfly script does have a script call for locking party members in place, but that has no effect whatsoever.
Appart from this, no other script I'm using effects the party.
I can say for sure that there is no issue with the event, as no other aspect of my event deals with the swapping of party members.
If that script call doesn't work, then either you're using it in the wrong place, or you have another script that disables part or all of yanfly's party script. Considering that your party member adding behaviour doesn't fit either default nor Yanfly's, I think that you do have another script changing party behaviour installed, wether you remember installing it or not.
First, check for unnamed scripts: if you placed a script without naming it, it will appear to you in the script editor as an empy slot in the script list. Click on every empty line and check if those are realls empty.
Second, make the search mentioned above to find out if one other script is affecting that function directly without your knowing
Third, disable your scripts one at a time, checking add member behaviour after each one, until you found one of the conflicting scripts if the second step didn't find anything
fourth, test everything in a new project (adding all scripts, but using only new, primitive maps) to test whether the effect is caused by a changed default script
fifth, link us to all the scripts you've used, so we can check if you still don't find the cause of the problem.