In a large saucepan, bring the wine, water, 1/2 cup chopped onions, parsley, bay leaf, and peppercorns to a boil over high heat. Reduce the heat to low and simmer, partially covered, for 20 minutes. Remove from heat and set aside.
In a heavy skillet, cook the bacon until crisp. Using tongs, transfer the bacon to paper towels to drain. Add 2 tbsp onion to the bacon fat and cook over moderate heat, stirring frequently, for 5 minutes, or until the onions are soft and translucent.
Preheat the oven to 325°F Coat the boat and sides of a casserole dish large enough to fit the fish in a single layer with 2 tbsp or less of butter. Lay the fillets in the dish and sprinkle with salt.
Bake the halibut uncovered for 12-15 minutes or until the fish is firm and opaque. Cover the fish and set aside. Preheat the oven to broil.
To make the sauce, begin by making a roux by melting the remaining butter in a small saucepan over medium heat. Add the flour and mix until you have a smooth mixture. Strain the wine mixture and pour it into the small saucepan. Discard the onion and herbs. Bring the liquid to a boil over medium heat. Reduce heat and simmer about 5 minutes until the mixture has thickened slightly. Remove the pan from the heat and stir in the lemon juice and parsley.
Sprinkle the sauteed onions over the fish, top with the cooked bacon.
With a whisk or mixer, whip the cream in a chilled bowl until it forms peaks. Fold the cream gently into the sauce. Working quickly, pour the sauce over the fish and sprinkle the top with grated cheese. Slide the casserole dish under the broiler and broil for 1 to 2 minutes or until the cheese melts.
Serve at once.