In a saucepan over medium heat, combine the milk, butter and margarine. Heat until butter and margarine are melted, but do not let it boil. Stir in 1 cup of sugar until dissolved, then set aside to cool to lukewarm.
Meanwhile, in a small bowl, dissolve 2 teaspoons of sugar in warm water. Sprinkle the yeast over the surface, and let stand until frothy, about 10 minutes.
Crack the eggs into a large bowl, and stir a little to break up the yolks. Slowly pour in the heated milk mixture while whisking constantly, so as to temper the eggs and not cook them. Add the yeast mixture, and stir just until blended.
In a large bowl, combine the flour, baking powder, mahleb, and salt. Make a well in the center, and pour in the wet mixture. Stir until it forms a sticky dough. Pour onto a floured surface, and knead in additional flour as needed to make a more substantial dough. Knead for about 10 minutes. Place in an oiled bowl, and set in a warm place to rise for about 2 hours, or until doubled in size.
When the dough has doubled, punch down again, and let rise until doubled. It will only take about half as long this time.
Separate the dough into 5 even portions, then separate each of those into thirds. Roll each of those into ropes about 12 inches long. Braid sets of three ropes together, pinching the ends to seal, and tucking them under for a better presentation. Place the loaves onto baking sheets lined with parchment paper. Loaves should be spaced 4 inches apart. Set in a warm place to rise until your finger leaves an impression behind when you poke the loaf gently.
Preheat the oven to 350 degrees F (175 degrees C). Brush the loaves with beaten egg, and sprinkle with sesame seeds.
Bake for 25 minutes in the preheated oven, or until nicely golden brown all over.