This implies that they stopped fighting, and after that, you couldn't eat because you were upset.
Let me change this to American English.
"I couldn't eat my supper because my friends had been having a fight for hours." = They finally stopped fighting, but you were then too upset to eat.
"I couldn't eat my supper because my friends were having a fight for hours."= Their fighting kept you from eating because they were fighting at the same time you were trying to eat.