Preheat oven to 350°F. Grease and line with parchment 3 8-inch round cake pans.
Sift flour, cocoa, baking soda, salt and baking powder into a large bowl (or into the bowl of a standup mixer fitted with the paddle attachment). Add sugars and butter and blend until a crumbly texture. In a small bowl, whisk buttermilk, eggs and vanilla together and add to larger bowl while mixing on low speed. Once incorporated, increase speed to medium-high and blend until smooth, about 3 minutes. Slowly pour in melted chocolate until evenly blended, then scrape batter equally between prepared cake pans, tapping pans gently to remove any large bubbles. Bake cakes for 40 to 50 minutes, until a tester inserted in the center of the cake comes out clean. Cool cakes for 30 minutes in the pan, then carefully turn out onto a cooling rack to cool completely.
For frosting, beat butter and cream cheese on high speed, scraping sides frequently, until light and fluffy. Reduce speed and add melted chocolate. Add vanilla, salt, icing sugar and cocoa and beat until smooth.
To frost the cake, slice each cooled cake layer across in half. Top one layer with icing and spread. Place second cake layer on top, and repeat with remaining layers. Ice the top of the cake and finish with the sides. Chill cake to set, but it is best stored at room temperature.