Preheat oven to 350?F. Grease two 9-inch round cake pans and line them with waxed paper or kitchen parchment. Grease the paper and flour the pans.
Prepare three separate mixtures for the batter. Combine the flour and salt in a medium bowl and use a fork to mix them together well. Combine the cocoa powder and the red food colouring in a small bowl, mashing and stirring them together to make a thick smooth paste.
In a large bowl, beat the butter with a mixer at low speed for 1 minute until creamy and soft. Add the sugar and then beat well for 3 to 4 minutes, stopping to scrape down the bowl now and then. Add the eggs one at a time, beating after each one until the mixture is creamy, fluffy and smooth. Scrape the cocoa-food coloring paste into the batter and beat to mix it in evenly.
Combine the vanilla with the milk. Add a third of the flour mixture and then about half the milk, beating the batter with a mixer at low speed. Mix only enough to make the flour or liquid disappear into the batter. Mix in another third of the flour, the rest of the milk and then the last of the flour in the same way.
In a small bowl, combine the baking soda and vinegar and stir well. Use a wooden spoon or spatula to quickly mix this last mixture into the red batter, folding it in gently by hand. Scrape the batter into the prepared pans.
Bake at 350?F for 20 to 25 minutes until the layers are spring back when touched lightly in the center and are just beginning to pull away from the sides of the pans.
Cool the cakes in the pans on wire racks for 15 minutes. Then turn them out onto the racks, remove the paper and turn top side up again to cool completely before frosting.
Using an electric mixer, beat the butter at medium speed until creamy. Add the cream cheese and beat until combined. Then add the vanilla extract and powdered sugar and beat at low speed, occasionally stopping to scrape the sides and bottom of the bowl, until light and fluffy. Fold in chopped pecans. Use immediately.