Serves 6 to 8 as a main course.
Cut bread into 3/4-inch cubes (7 1/2 cups). In a large baking pan dry bread, uncovered, at room temperature 12 hours. (Alternatively, dry bread in a 250°F oven 1 hour.)
Butter a 4-quart shallow baking dish (14 by 10 by 2 inches).
Finely chop onion and cut corned beef into 1/4-inch-wide strips. In baking dish layer half of bread, half of sauerkraut, half of onion, half of corned beef, and half of Havarti and season with salt and pepper. Repeat layering and season mixture with salt and pepper.
In a bowl whisk together eggs, mustard, milk, and salt and pepper to taste and pour slowly and evenly over bread mixture. Cut butter into bits and dot pudding with it. Chill pudding, covered, at least 1 hour and up to 1 day.
Preheat oven to 350°F.
Bake pudding in middle of oven until bubbling and slightly puffed, about 40 minutes. (There will be some liquid remaining in bottom of baking dish.)