I think I know how to make the 'fist fighting dwarf bug' happen (and to get around the bug).
If Yarpen is suddenly in the first room (not his usually hang out spot) this is when he vanishes. It's almost like when the fight happens the program checks where he is supposed to be and warps him there, but since going through doors is disabled during a fistfight you can't go after him and you are perpetually stuck in a fistfight with no one.
He doesn't disappear when the fight happens in the second room (with the dancers).
When you've met the requirements for the fight, the fight happens when you talk to Zolton. So talk to Zoltan the first time, but then avoid talking to him until you see him in the second room (which happened to me after I talked to Dandelion in the second room, but I'm not sure of all the requirements or if he was even part of the requirements).
Edit: People moving to other rooms is almost always because of the time of day. Only requirements for the fight with Yarpen is that you talk to Zolton, wait at least 2 hours and then speak to him again. If he's still in the first room then Yarpen is warped to that room to take part in the dialogue, but then vanishes during the fight because he wasn't supposed to be there. You should wait until later when Zolton is in the second room (when all the dwarves are at the table).
I'm still working on why it seems I run out of dialogue (I talked to everyone and the story doesn't progress anymore), but that may be because to advance the story I needed to talk to someone at a certain part of the day. (certain dialogue with people need another person to be in the same room).
If Yarpen is suddenly in the first room (not his usually hang out spot) this is when he vanishes. It's almost like when the fight happens the program checks where he is supposed to be and warps him there, but since going through doors is disabled during a fistfight you can't go after him and you are perpetually stuck in a fistfight with no one.
He doesn't disappear when the fight happens in the second room (with the dancers).
When you've met the requirements for the fight, the fight happens when you talk to Zolton. So talk to Zoltan the first time, but then avoid talking to him until you see him in the second room (which happened to me after I talked to Dandelion in the second room, but I'm not sure of all the requirements or if he was even part of the requirements).
Edit: People moving to other rooms is almost always because of the time of day. Only requirements for the fight with Yarpen is that you talk to Zolton, wait at least 2 hours and then speak to him again. If he's still in the first room then Yarpen is warped to that room to take part in the dialogue, but then vanishes during the fight because he wasn't supposed to be there. You should wait until later when Zolton is in the second room (when all the dwarves are at the table).
I'm still working on why it seems I run out of dialogue (I talked to everyone and the story doesn't progress anymore), but that may be because to advance the story I needed to talk to someone at a certain part of the day. (certain dialogue with people need another person to be in the same room).