Preheat oven to 350 degrees F. Lightly grease two 9-round cake pans with cooking spray. Place a parchment paper round in the bottom of each pan, then grease the parchment bottom and sides of the pan once more. Set aside. Meanwhile, in a small saucepan, melt the chocolate and milk together on low heat, stirring constantly to prevent scorching, until melted and smooth. Remove from the heat and cool about 10 minutes.
In the bowl of a stand mixer, cream together the butter and granulated sugar for 2 minutes on medium-high speed until fluffy and pale in color. Add in the eggs, one at a time, beating well after each addition, followed by the vanilla extract. In a medium bowl, whisk together the flour, baking soda, baking powder and salt. Gradually add in 1/3 of the flour mixture to the butter mixture, alternating with the chocolate milk mixture, mixing well after each addition until a soft batter comes together.
Distribute the batter evenly into the prepared pans and bake for 25-30 minutes or until a toothpick inserted near the center comes out clean or with moist - not wet - crumbs. Cool completely.
While the cakes cool, make your frosting: In a medium saucepan, combine the sugar, butter, eggs and evaporated milk together and whisk until combined and smooth. Cook over medium heat, stirring constantly, for 6-8 minutes or until thickened - a little like soft set pudding. Remove from the heat and stir in the vanilla, coconut, and pecans. Let cool completely until thickened and set.
To assemble: place one cake layer upside down onto a cake plate or serving dish. Frost with half of the coconut pecan frosting. Top with the remaining cake layer and finish frosting the top with the remaining coconut pecan frosting. Drizzle with chocolate sauce or chocolate ganache and garnish with pecan halves, if desired. Store the cake covered in the fridge or at room temperature for about 2-3 days.