Preheat oven to 400F.
In a saucepot, bring a few inches of water to a boil. Add salt and asparagus, and cook a couple of minutes to tender-crisp. Cold-shock the asparagus in bowl of ice water and remove them to a kitchen towel to dry.
Melt butter in a small pot over medium heat. Add flour, cook a minute then whisk in milk. Season with salt and pepper and thicken sauce over low bubble until very thick, 7-8 minutes. Season with a little nutmeg, turn off heat and stir in mustard.
Line a sheet pan with parchment paper and arrange 4 slices of bread on it. Top them with half of the Bechamel sauce, all of the asparagus tips, the ham and half of the Gruyere cheese. Set another slice of bread on each sandwich and cover them with the remaining bchamel and Gruyere. Transfer to the oven and bake 15 minutes, until bread is toasted on the bottom and cheese is deep golden on top.
When the croque monsieurs are almost done, heat a medium, nonstick skillet over medium heat with a pat of butter. Add 4 eggs, season with salt and pepper and cook eggs according to preference. (Topping the croque-monsieurs with an egg turns them into croque-madames). Serve with green salad tossed with shallot vinaigrette alongside.