Rinse and clean asparagus, discarding tough ends and removing scales. Boil in salted water for 10 minutes, until tender-crisp. Drain on paper towels.
Heat 1 tablespoon butter in a saucepan until melted. Add flour and cook for 1 minute, stirring constantly. Gradually add milk and cook, stirring constantly, for 3 minutes until thick.
Place 1/2 of the asparagus in the bottom of a greased 1 1/2 quart shallow baking dish. Sprinkle with 1/2 of the chopped eggs. and dot with 1 tablespoon butter. Sprinkle 1/2 teaspoon salt and 1/2 teaspoon cayenne pepper over all.
Top with remaining asparagus. Sprinkle the remaining chopped eggs along the center portion of the asparagus.
Pour the cream sauce down the middle of the baking dish. Sprinkle with bread crumbs and cheese. Dot uncovered portions of asparagus with the remaining 2 tablespoons of butter.
Bake, covered, and 400 degrees for 15 minutes. Remove cover and bake 3-5 minutes longer or until topping is browned. Served immediately.