Preheat oven to 425 degrees F. Melt butter in a small pot. Stir in flour until well combined. Slowly whisk in milk. Bring to a simmer and cook, stirring, until sauce thickens. Mix in the cheese and seasonings. Remove from heat and reserve.
Bring a pot of water spiked with a tsp. of white vinegar to a rolling simmer. Place baguette slices on a baking sheet. Top each with a slice of ham. Poach eggs in water until yolks just barely set. Remove as much water from the eggs as you can and then set on top of the bread and ham.
Top the eggs with a little cheese sauce and two asparagus spears. Bake 10 minutes to heat bread, ham, asparagus and sauce through.
Note: To blanch asparagus, plunge into boiling water and cook 2 minutes. Cool in cold water, and then drain well and pat dry.