Preheat oven to 350°F and butter a 9-inch, square baking pan.
Prepare streusel: Combine butter and candies in a small microwavable bowl and microwave on medium (50%) power 2 minutes. Stir, and if mixture is still stiff, continue to cook at medium power in 30- second intervals and stir just until melted and smooth. Let cool for 5 minutes. Combine flour, brown sugar and salt in a medium bowl, mixing well with fingers. Add caramel mixture; stir with a fork until crumbly. Set aside.
Prepare batter: Sift together flour, baking powder, baking soda, salt and cinnamon.
Cream butter and sugar in bowl of an electric mixer at high speed until fluffy, about 5 minutes. Beat in eggs one at a time until well blended. Mix in sour cream and vanilla extract at low speed until incorporated. Add flour mixture 1/2 cup at a time, mixing at low speed just until blended. Scrape half of batter into prepared pan. Crumble half of streusel on top. Spoon remaining batter on top, spreading gently. Crumble remaining streusel on top.
Bake about 50 minutes or until a toothpick inserted into center comes out clean. Let cool slightly for at least 15 minutes before cutting and serving. Serve warm or at room temperature.