Cook macaroni according to packet directions then drain. Lower oven rack to a low position. Preheat ovens griller. Grease a baking dish.
In a large saucepan melt the butter. Saute the onion until tender then stir in the flour. Gradually stir in the milk then bring to a boil, reduce heat and stir until thickened. Remove from heat then stir in cheese, stirring until smooth. Stir in the cooked macaroni then pour into the prepared baking dish.
In a bowl mix together bread crumbs, Parmesan and garlic powder. Sprinkle over the macaroni then place in the preheated oven. Grill until breadcrumbs are golden brown, 5-10 minutes.
If I have leftover ham I use it. If I have ham sandwich meat, I sometimes cut it up and add it. Sometimes I will cook up bacon and add that instead. You decide.