Preheat the oven to 350°F. Grease and flour two 9 inch round cake pans. For a taller cake you may use 8 inch round pans, but the bake time will need to be increased slightly because the cake will be deeper.
Thoroughly mix the flours, baking soda and salt together and set aside.
In a large mixing bowl, using a hand held electric mixer, beat the butter until creamy; add oil and sugar and beat for another minute, scraping sides of the bowl.
Add the eggs one at a time, beating on low speed for 30 seconds after each egg is added, then increase speed and beat on high for another minute. Beat in the vanilla.
Stir in the cocoa powder and red food coloring, then beat with the mixer until blended and smooth. Beat in the vinegar.
Using a heavy duty scraper, stir the flour and the buttermilk into the red mixture, alternating between the two (flour, milk, flour, milk, flour). Beat about 30 strokes with the scraper or until there are no lumps of flour and mixture is smooth and red. If batter is lumpy, beat with the electric mixer for no longer than 30 seconds -- don't overdo it or you'll build up the gluten too much.
Spread evenly in pans and bake for 25 minutes (30 minutes for the 8 inch pans) or until a toothpick inserted in center comes out clean. Cool in pans on wire rack 10 minutes. Invert onto a cooling rack and let cool completely.
Beat cream cheese and butter in a large bowl with electric mixer on medium speed until blended. Gradually add powdered sugar until smooth. Beat in vanilla
Frost and stack the cakes.