Place porcini and morels in a medium bowl, and pour in 6 cups boiling water. Let stand until the mushrooms are softened, about 15 minutes. Remove mushrooms with a slotted spoon, chop, and set aside. Pour the mushroom liquid through a cheesecloth-lined strainer, leaving behind solids and any sand in the bottom; reserve the liquid.
Melt butter in a large saucepan over medium heat. Add onion and garlic, and saute until softened, about 5 minutes. Add the wild and reserved mushrooms, in two batches if necessary, and cook, tossing occasionally, until they have released all of their juices and most of the liquid has evaporated. Add Madeira, and cook, scraping up any browned bits from the bottom of the pan with a wooden spoon, until the liquid has evaporated, about 2 minutes. Sprinkle the mixture with flour, and stir to coat.
Stir in reserved mushroom liquid; bring to a boil. Reduce heat, and simmer, stirring occasionally to allow flavors to blend, about 30 minutes. Remove 1 cup mushrooms with a slotted spoon, and toss with parsley; cover with aluminum foil to keep warm.
Pour remaining soup in small batches into bowl of a food processor; carefully puree until smooth, and return to saucepan. Stir in cream; season with salt and pepper. Garnish with the reserved mushrooms, and serve hot.