Grease two 9 inch round pans. Preheat oven to 350 degrees F (175 degrees C).
Make a paste of cocoa and food coloring. Set aside.
Combine the buttermilk, salt and vanilla. Set aside.
In a large bowl, cream together the oil and sugar until light and fluffy. Beat in the eggs one at a time, then stir in the cocoa mixture.
Beat in the buttermilk mixture alternately with the flour, mixing just until incorporated.
Stir together baking soda and vinegar, then gently fold into the cake batter.
Pour batter into prepared pans. Bake in the preheated oven for 30 minutes, or until a toothpick inserted into the center of the cake comes out clean. Allow to cool completely before frosting. Refrigerate until ready to serve.
To Make Icing: In a saucepan, combine the milk and flour. Cook over low heat, stirring constantly, until mixture thickens. Set aside to cool completely. Cream together butter, sugar and vanilla until light and fluffy, then stir in the cooled milk and flour mixture, beating until icing reaches spreading consistency.