Cook roast:
Let roast stand at room temperature 1 hour.
Put oven rack in middle position and preheat oven to 450°F. Trim all but a thin layer of fat from roast, then rub roast all over with porcini powder, salt, and pepper. Transfer to a rack set in a 13- by 9-inch roasting pan. Roast beef 20 minutes, then reduce temperature to 350°F and roast until thermometer inserted into center of meat registers 110°F, 1 1/2 to 2 hours more. Transfer to a large platter and let stand, uncovered, 30 minutes. (Internal temperature of meat will rise to 130°F for medium-rare.)
Prepare sauce while meat comes to room temperature and roasts:
Cook halved onion, cut sides down, undisturbed, in 1 tablespoon butter in a 2-quart heavy nonreactive saucepan over moderate heat until browned well, about 4 minutes. Add chopped onion, shallots, carrot, celery, garlic, and 2 tablespoons butter and reduce heat to moderately low, then cook, covered, stirring occasionally, until chopped vegetables are softened, 8 to 10 minutes. Add tomato paste, herbs, bay leaf, peppercorns, and 2 cups wine and boil, uncovered, over moderately high heat until liquid is reduced to about 1/4 cup, 25 to 30 minutes. Pour through a fine-mesh sieve set into another 2-quart heavy saucepan, pressing on and then discarding solids.
While wine reduces, soak porcini in boiling-hot water (2 cups) in a bowl until softened, about 20 minutes. Drain porcini in a paper-towel-lined sieve set over a bowl and reserve soaking liquid. Rinse porcini and pat dry, then finely chop. Set aside.
Add porcini-soaking liquid, demi-glace, and remaining 1 3/4 cups wine to reduced liquid in saucepan and boil, uncovered, over moderately high heat, skimming off froth occasionally, until reduced to about 2 cups, 20 to 35 minutes. Stir in reserved porcini, then reduce heat to low and whisk in 1/2 teaspoon salt, any juices from meat accumulated on platter, and remaining 3 tablespoons butter until incorporated.
Slice roast across the grain and serve with sauce on the side.