To make the brownies: Preheat oven to 350°F. Spray a 13 x 9 inch baking pan with cooking spray. Set aside.
In medium-size saucepan, melt chocolate and butter over medium-low heat, stirring constantly until completely smooth.
Remove saucepan from heat. Add flour, sugar, vanilla, baking powder, salt and eggs mixing until fully combined. Spread batter in evenly in pan.
Bake 30 minutes or just until center is set. Cool completely, on a cooling rack about 1-2 hours.
To make the topping: Spread pecans in a single layer on a baking sheet. Toast in a 350°F oven for 6-8 minutes until lightly golden. Set aside to cool.
In a heavy bottomed saucepan over medium high heat, melt butter with milk, granulated and brown sugar, corn syrup and salt.
Cook while stirring until the sugar has dissolved, then lower the heat to medium. Whisk 1/4 cup of the warm liquid into egg yolks to temper, then whisk the egg yolks into the saucepan.
Cook over medium stirring until thickened around 12-15 minutes. The consistency should coat the back of a spoon like a thin pudding. [Tip: The icing will thicken more as it cools.]
Remove from the heat and add the vanilla, toasted pecan pieces and coconut. Pour into a bowl and cool to room temperature while brownies cool.
Frost brownies. Store in an airtight container chilled.
Bring to room temperature, cut into squares for serving.