Preheat oven to 350°.
Grease and flour 3 (9-inch) round pans.
Using an electric mixer, cream 1 cup butter until fluffy. Add 2 cups sugar and continue to cream for approximately 6 to 8 minutes. Add the eggs one at a time, beating well after each addition. Add the flour and milk, alternately to creamed mixture, beginning and ending with the flour. Add 1 teaspoon vanilla and continue to mix until incorporated. To bake 6 layers of cake 3 at a time, divide the batter in half, then divide each half among the three pans. Level the batter in each pan by dropping pan flat onto counter top to release air bubbles. Bake each cake for 15 to 20 minutes, or until golden brown. Cool in pans for 5 to 10 minutes. Invert cakes and repeat process with the rest of the cake batter.
Prepare frosting while cakes are cooling. Mix 1 cup sugar, cocoa, 1/2 cup butter, half and half, corn syrup and salt in a saucepan, stir and bring to a boil. Continue to boil, stirring occasionally for 3 minutes. The syrup will become thick. Remove syrup from heat, and beat in the confectioner's sugar and 1 teaspoon vanilla extract with an electric mixer. Allow frosting to rest for a couple of minutes. At this time, if the frosting is too thick for spreading, add a bit of half and half, 1 tablespoon at a time to bring frosting to proper spreading consistency.