Preheat oven to 350 degrees F (175 degrees C). Lightly grease a large casserole dish.
Place bacon in a large, deep skillet. Cook over medium high heat until evenly brown; drain. Reserve 3 strips whole, crumble remainder and set aside. Add the mushrooms and onions; cook until tender.
In a large bowl, combine the crumbled bacon, mushrooms, onion, pork and beans, kidney beans, butter beans, ketchup, brown sugar, dry mustard, cider vinegar, Worcestershire sauce, and salt and pepper. Scoop bean mixture into prepared casserole dish. Place 2 or 3 strips of bacon on top of the bean mixture, if desired.
Bake uncovered in a 350 degree oven until thick and bubbly, about 2 hours.