Bring a large saucepan of salted water to boiling. Spray a shallow baking dish with cooking spray.
Snap off the tough ends of the asparagus, trim off any sandy scales. Wash thoroughly.
Add asparagus to boiling water. Cover. Lower heat. Simmer for 10 minutes or until lower parts of stalks are fork-tender. Drain. Transfer to paper towels to drain further.
To prepare cream sauce:
Melt 1 tablespoon of the butter in a small saucepan. Stir in flour. Cook 1 minute.
Gradually stir in the milk.
Cook, stirring constantly, until the sauce thickens, about 3 minutes.
Remove from heat. Reserve.
Arrange half the asparagus in a layer in a prepared baking dish. Sprinkle with half the chopped egg. Dot with 1 tablespoon of the butter. Season with salt and cayenne pepper.
Arrange another layer with remaining asparagus. Sprinkle the center portion of asparagus with the remaining chopped egg.
Pour the reserved cream sauce down the middle of casserole. Sprinkle sauce with bread crumbs and cheese. Dot uncovered portions of asparagus with remaining 2 tablespoons butter to prevent drying out during baking.
Bake, covered, in the preheated oven for about a half hour. Uncover, bake 2-3 minutes more or until top is browned.