1) Preheat the oven to 350°F. Line a baking sheet with parchment, and grease a 2-quart casserole dish or 9" x 13" pan.
2) Toss the bread in a bowl with the melted butter, and spread evenly on the baking sheet. Heat the bread in the oven for 10 minutes; it won't color, but will dry out a bit.
3) If the asparagus are frozen, use them as is. If they're fresh, cook them very briefly; a couple of minutes in the microwave should be sufficient. You want them to be crisp, but not hard.
4) Toss the asparagus, onion, ham, and 1 ½ cups of the cheese with the toasted bread cubes. Spread the mixture evenly into the prepared pan.
5) Mix together the eggs, 1/2 cup of the half & half, and salt, and pour over the bread mixture, pressing the bread gently into the liquid. Add up to an additional 1 cup half & half if it doesn't come to within 3/4" of the top of the bread cubes.
6) Cover the pan, and refrigerate overnight, or for at least 6 hours.
7) Sprinkle the top of the strata with the remaining cheese. Bake the strata uncovered, in a preheated 375°F oven, for about 45 minutes, or until it's puffed and golden. A knife blade inserted into the center will come out clean. Remove the strata from the oven, and allow it to rest for 15 minutes before serving.
Yield: about 12 servings.