Preheat the oven to 350 degrees. Grease a 9x13 inch baking pan and line with parchment paper or wax paper*. Grease the paper and dust with flour or cocoa powder.
Whisk the cocoa powder and boiling water in a bowl until smooth and glossy, then whisk in the milk and vanilla.
In another bowl, whisk the flour with the baking soda and ⅜ teaspoon salt.
In a large mixing bowl, beat the butter and sugar until light and creamy. Add the eggs, one at a time, beating for 30 seconds after each egg is added. Continue beating and scraping bowl for about 3 more minutes or until light and creamy.
On low speed or by hand using a heavy duty scraper, beat in the flour mixture and cocoa mixture alternately.
Pour batter into the pan and smooth the top. Bake in the middle of the oven until a tester comes out clean, 25 to 35 minutes.
Let rest on a cooling rack for 2 minutes, then turn onto a rack to cool completely before frosting.
Frosting: Melt the chocolate in a microwave on high power, stirring every 30 seconds. Let it cool. Meanwhile, mix the butter with the whipped cream cheese. Add the melted chocolate, the vanilla and a dash of salt, and mix in the confectioners’ sugar. Beat until light and fluffy.
Cut the cake in half to make two square-ish pieces. Spread frosting on top of one square and stack the second layer on top. Frost the entire cake. To make it easier, you may want to stack the layers, freeze until firm, then frost the outside of the frozen cake.
Notes
I use parchment paper for most baked goods, but lately I've been using wax paper for cakes. It does smoke a little, but it's less expensive and easier to work with. The key is to use it only underneath batters and have as little exposed wax paper as possible.