The issue with this confusion (which is, BTW, totally and perfectly normal), is that children have to learn that directionality MATTERS.
You see, everything else that they represent on paper -- it doesn't matter which way it faces. Draw a dog facing left, and a dog facing right -- they're both still dogs.
So it doesn't make sense to a young child that the same symbol facing different directions means two completely different things. As to which is which, that's completely arbitrary -- so even once they do understand that there IS a difference, then there's the task of recognizing which one is which.
Also, we take for granted our "left to right" society. We read from left to right, and studies show that we kind of think that way too. When looking around, we assume that "left" is "first" and "right" is "after". In some societies, of course, it's the other way around. I've often wondered what difference it makes to the brain to develop in a right-to-left writing society, I'd love to get inside someone's head and see if the world "looks" different!
Anyway, young children don't have that permanence of left-to-right yet. After all, their brains need to be 'moldable' to adapt to whatever writing system they're born into... even an up-to-down one.
So mnemonics like "b has a belly and d has a butt", as cute as they are... will only work IF the child already understands that LEFT COMES FIRST... in other words, it's assuming that both letters are "facing" to the RIGHT. But as I said at the beginning, the problem is that the child sees the two letters as the same symbol, facing different directions. You could easily see d as a belly and b as a butt if they're just facing the other way...
One of the reasons I like the d'nealian font for learning letters is that the very method of writing b's and d's is completely different. There's more of a physical difference between them. I think it helps kids to grasp the idea of the difference between them. Of course they still need to learn to recognize b's and d's in other fonts as well, but I think it helps a lot.
Other than that, though, it's just a matter of time. My DS is 10 and still sometimes gets them backwards. Understanding the physiological reasons behind the difficulty helps though... so you don't get frustrated when a 'trick' doesn't help because you realize the 'trick' only makes sense if you've already solved the problem.