I don't see iForce ever being defined as true or false, and you told it only to fire if iForce is true or false, which I find unnecessary, but that means this looks to be only a partial fragment; I'd need to see the rest to make sure any attempt at a fix wouldn't mess with the rest of it. But for now, I can give one bit of advice. First, get rid of your if trees, just replace it with the following:
DelayCommand(1.5, ShowPartySelectionGUI(sExit, iNPC1, iNPC2, FALSE);
And when you put in the NPC ID number in the DLG, just put in -1 for when you don't want to force anyone, or change your if trees to set them to -1 for anything other than the valid NPC ID numbers. The point of all this is if trees are finicky, particularly with this engine, so it's better to not have the whole execution of the script depend on one.