Try assigning the dialog to the NPCs you want to speak with (in a script)
DB_Dialogs(NPC1,NPC2,"myDialog"); (with NPC1 the NPC who speaks first)
Then add the speakers in the dialog editor (the "edit dialog speakers" tool) with NPC1 first. Then start the dialog however you want with "SelectAndStartDialog(_Player,NPC1);" or whatever. This works for me anyway.
Maybe if you added dialogs to the NPCs previously you should use ProcRemoveAllDialogEntriesForSpeaker in a script before you assign the dialog.