For The Chocolate Cream Cheese Frosting: In a bowl, beat the butter with an electric mixer at medium speed until soft and fluffy
Add the cream cheese, vanilla, and salt and beat at low speed just until the mixture is smooth and creamy
Avoid over beating
Using a rubber spatula, clean the beaters and scrape the sides of the bowl whenever necessary during beating
Add 1 cup of the powdered sugar and beat at low speed just until incorporated
Add the remaining 2 cups powdered sugar and beat just until smooth and spreadable
Stir melted chocolate into mixture
For The Cake: Shorten cream, sugar, and eggs
Make a paste with cocoa and food coloring, add to creamed mixture
Mix salt and vanilla with buttermilk and add alternatively with flour to creamed mixture
Mix baking soda and vinegar and fold into mixture
Do not beat
Bake in two 9-inch layer pans, greased and floured, at 350 degrees F for 35 to 40 minutes
Let cakes cool in pans on cooling racks for 20 minutes before turning out of pans
Invert cakes on to cooling racks, and let cool completely
Put first layer on a plate, spread frosting over this layer, put second layer over frosted bottom layer
Continue till 4 layers
Add a little cream, half-and-half, or milk if the mixture is too thick
Frost top and sides of cake
Serve immediately