If using fresh green beans, blanch in boiling water for 3 to 4 minutes, then remove from the pot and cover with ice water and set aside.
In a large cast iron skillet over medium high heat add the bacon and cook for about 2 minutes, then add the onions, continue to cook until the onions are soft, stirring occasionally. Strain the contents of the skillet in a bowl and set aside.
Return to the skillet with the left over bacon grease over medium low heat. Stir in the mushrooms and cook until they are brown, about 2 to 3 minutes. Stir in the garlic and cook for an additional 2 minutes. Add the contents of the skillet to the bacon and onions bowl.
Return to the skillet and melt the ½ stick of butter over low heat. Whisk in the flour and whisk constantly until smooth. Cook for about 3 minutes, or until it thickens.
Stir in the cream and the bacon mixture. Stir in the cheese and Worcestershire sauce. Cook for about 3 minutes or until the cheese is melted and smooth. The mixture should be the consistency of a thick gravy. If the mixture is too thick, you can add a little more cream or chicken broth to thin if needed.
Stir the bacon and mushroom mixture and pimentos into the sauce and mix well.
Place the green beans in 9x11-inch inch casserole dish and pour the contents of the skillet over the top and smooth it out with a spoon.
Sprinkle the top with the bread crumbs and fried onions. Bake for 30 minutes at 350 degrees F or until bubbling. Serve warm.