Preheat oven to 350 degrees F.
Grease and flour 3 (9-inch) round cake pans.
Using an electric mixer, cream the butter until fluffy. Add the sugar and continue to cream for approximately 6 to 8 minutes. Add the eggs 1 at a time, beating well after each addition. Add the flour and milk, alternately to creamed mixture, beginning and ending with the flour. Add the vanilla and continue to mix until incorporated. To bake 6 layers of cake 3 at a time, divide the batter in 1/2, then divide each 1/2 among the 3 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 sugar, cocoa, 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 confectioners' sugar and 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.