First of all, I need to disagree with your translation. "Wir haben Essen." does NOT mean "We are having food."!!! It ONLY means "We have food". Moreover, the sentence is a bit weird. Most people would probably say "Wir haben etwas zu essen." meaning "We have something to eat". The reason why "Wir haben Essen." does not mean "We are having food." is that "haben" cannot be used to say "consume food" in German. When you are having food, you can only say "Wir essen gerade.". The word "gerade" is often used to express something you are doing right now.
As for the other example, I don't think it's a good example either. It mainly lacks context, and that's why it's probably so hard to understand. Moreover, German likes adding in filler words to clarify meaning. So If I wanted to ask "Do you eat bread?", I would say "Ißt du eigentlich Brot?", and if I wanted to ask "Are you eating bread?", I would say: "Ißt du gerade Brot?".
Hence the idea that "Ich esse Brot" could be misunderstood is strictly hypothetical and limited to what they say in grammar books. In reality, German has so many extra little filler words to clarify meaning that native speakers rarely misunderstand each other.