Preheat oven to 400 degrees. Lightly butter, oil or spray with cooking spray an oval gratin-style baking dish large enough to hold all the sprouts. Set aside.
Prepare an ice bath. Bring a large, deep skillet or saucepan of generously salted water to a boil. (I use about two tablespoons of salt so the sprouts get seasoned.)
Carefully drop the Brussels sprouts into the salted water and cook for 3-4 minutes or until almost cooked. (You should be able to pierce the Brussels sprouts easily with a knife but still feel some resistance in the center and they should remain bright green.) Drain and transfer to the ice bath to cool. Drain again and blot them dry with a paper or clean kitchen towel.
Cook the bacon in the deep skillet or saute pan until crispy. Drain on a paper towel-lined plate. Set aside, but reserve the bacon drippings in the pan.
Whisk the all-purpose flour into the bacon drippings. Cook for 1-2 minutes over low heat.
Stir in the heavy cream and bring to a simmer over medium-low heat. Cook for 2-3 minutes or until beginning to thicken.
Pour the heavy cream into the saucepan and whisk in the all-purpose flour. Bring to a simmer over medium-low heat.
Add the shredded cheese by the handful and whisk after each addition until the cheese has melted and the sauce is smooth. Add salt and black pepper to taste. Add the pinch of cayenne if desired.
Stir the Brussels sprouts and bacon into the cheese sauce and stir to coat. (The cheese sauce will immediately thicken because the Brussels sprouts were cooled off.)
Pour the Brussels sprouts and bacon into the prepared baking dish.
Combine the butter, breadcrumbs and Parmesan cheese in a small bowl. Mix with your hands until the butter is mixed in and evenly distributed.
Scatter over the top of the Brussels sprouts.
Bake for 20-25 minutes or until bubbly. Cover with aluminum foil if necessary at about the 15-minute mark if breadcrumbs are getting too brown. Serve immediately.