Preheat the oven to 350 degrees Fahrenheit. Line a 9x13-inch pan with aluminum foil, and spray the foil with nonstick cooking spray.
Combine the butter and the chopped chocolate in a large microwave-safe bowl, and microwave in 30-second increments until they’re melted together, stirring after every 30 seconds. Once everything is melted and smooth, add the cocoa powder and whisk it in.
Whisk in the eggs, one at a time, whisking well after each egg. Finally, add the sugar, vanilla, and flour, and whisk everything together. The texture might be broken and grainy at first, but continue to whisk until it comes together and is smooth, shiny, and satiny. This might take a moment or two. Stir in the chopped pecans.
Scrape the batter into the prepared pan, and smooth it into an even layer. Bake the brownies at 350 F for 22-25 minutes, until a toothpick inserted into the center comes out with just a few moist crumbs. Let the brownies cool completely before topping them with the cheesecake layer.
To Make the Caramel Cheesecake Layer:
Combine the room temperature cream cheese and butter in a large mixing bowl, and mix them together using a stand mixer or hand mixer, until light and fluffy.
Add the powdered sugar, vanilla pudding mix, caramel sauce, vanilla extract, and cinnamon, and mix on medium speed until well-incorporated. Stir in the pecans and chocolate chips, and make sure to scrape down the sides and bottoms of the bowl well. Spread it into an even layer on top of the brownies. It can be made in advance and kept in the refrigerator until ready to spread.
To Make the Ganache:
Place the semi-sweet chocolate in a medium bowl. Pour the heavy cream into a small saucepan over medium heat. Bring the cream to a simmer, then pour the hot cream over the chopped chocolate. Let the cream sit and soften the chocolate for one minute, then whisk them together. When your mixture is smooth, add the room temperature butter and whisk it in. Pour the ganache over the cheesecake layer while it is still warm, so it flows evenly and creates a smooth finish on top.
Chill the bars well, until the ganache is set. Lift the brownies from the pan using the foil as handles, and cut them into small squares to serve.