1. Cook the elbow macaroni al dente according to package directions. Drain and set aside.
2. In a large saucepan over medium-low heat, cook beef in ¼ cup water until water has evaporated. Drain any oil from beef. Push beef into one side of the pan. Add olive oil and saute garlic until light brown. Add onion, tomatoes and mushrooms. Mix with beef and garlic and saute until tomatoes become soft. Stir in the tomato sauce, banana ketchup, basil and oregano. Season with salt and pepper. Bring to a boil. Reduce heat to low, cover and simmer for 15 minutes. Add sugar then mix well. Simmer for 3 more minutes. Remove from heat and set aside.
3. In a saucepan over medium low heat, melt the butter. Add the flour and stir until dissolved. Whisk in the milk and garlic powder until the sauce thickens. Add salt and pepper to suit your taste. Stir in 1 cup of parmesan and 1 cup of cheddar cheese and whisk until melted.
4. Preheat oven to 375°F. Combine the cooked macaroni and meat sauce in a 13"x9"x2" baking dish. Toss until macaroni is well covered with sauce. Add mozarella cheese and the remaining cheddar cheese and toss some more. Spread the cheese topping evenly over the mixture.
5. Bake for 15 to 20 minutes or until topping turns brown. Remove from oven and allow to cool down a little. Serve warm.