Preheat oven to 350°F (175°C) and grease and flour cake pans.
Cream butter and sugar in a mixing bowl until light and fluffy. Add eggs and vanilla, mixing well.
In a separate bowl, combine flour, baking powder, baking soda, and salt. Gradually add to creamed mixture alternating with buttermilk.
Pour batter into cake pans and bake for 25-30 minutes or until a toothpick comes out clean.
Prepare cheesecake center by beating cream cheese and sugar until smooth. Add eggs, vanilla, and sour cream, and mix well.
Pour cheesecake mixture over baked cake layers and bake an additional 15-20 minutes.
For the frosting, combine evaporated milk, sugar, egg yolks, and butter in a saucepan. Cook over medium heat until thickened.
Remove from heat and stir in vanilla, shredded coconut, and toasted pecans. Let cool slightly before spreading over the cake.
Once cooled, frost the cake with the coconut-pecan frosting. Slice and serve.