Grease and flour two 8-inch square baking pans.
In a large bowl, combine flour, sugar, baking soda, salt, butter, sour cream, eggs, chocolate, milk, and vanilla. Beat with mixer at low speed until blended. Increase mixer to high and beat 2 minutes longer. Spoon batter into prepared pans. Bake in a preheated 350° oven for about 35 minutes, or until a wooden pick or cake tester inserted in center comes out clean.
Remove to racks to cool completely.
Make topping.
In a saucepan over medium heat, bring evaporated milk, brown sugar, and butter to a full boil; remove from heat. Stir in coconut and pecans. Set aside to cool to room temperature.
When cake is cool, place one layer on cake platter; spoon half of the coconut mixture onto the layer. Top with remaining cake layer and top with remaining topping.