For the basboosa, in a large bowl mix the semolina, sugar, baking powder, baking soda, and salt.
To the mix add the ghee, butter, and yogurt. Mix the ingredients well with your hands until everything is well combined. Let the mixture rest for 15 minutes.
Grease a circular pan with the tahini, add the mixture to the pan and flatten it.
With a knife, draw 24 diamond shapes on the mixture. Place an almond on top of each diamond, then let the pan rest for 10 minutes.
Preheat the oven to 350 degrees F while the pan rests.
Bake the basboosa for 30 to 35 minutes, until the cake starts to set up.
While the cake is baking, make the syrup. In a cooking pot, stir together the sugar, water and lemon juice, and bring the mixture to a boil. Reduce the heat to medium, and simmer the mixture for 10 minutes.
Stir in the rose water and orange blossom water, if using. Remove the pan from the heat and set it aside to cool to room temperature.
Remove the pan from the oven, cut through the diamond shapes that were drawn on. Bake the basboosa pieces for 15 to 20 minutes, until they are golden brown.
Remove the pan from the oven, and pour the sugar syrup over the basboosa pieces. Allow the pieces to cool to room temperature, then serve. Basboosa may be stored at room temperature, tightly wrapped, for up to 3 days.