Preheat oven to 375 degrees F. Lightly grease medium baking dish.
To prepare the cheese sauce: melt butter in a mediu saucepan over medium heat. Whisk in flour, garlic powder, salt and pepper. Mi in milk and stir constantly until thickened. Mix in cheddar cheese and swiss cheese, and continue to stir until smooth. Reduce heat to low.
Layer potatoes in the bottom of the prepared baking dish. Layr onion and ham over potatoes. Top with cauliflower. Cover with the cheese sauce.
Bake covered 1 hour in the preheated oven. Remove cover, sprinkle with crushed cornflakes, and continue baking 10 minutes, until vegetables are tender and surface is bubbly and lightly bowned. Allow to cool about 10 minutes before serving.