Melt 1/2 cup butter in a lightly greased 10" cast-iron skillet over low heat. Stir amaretto into melted butter; sprinkle brown sugar into skillet. Remove from heat.
Arrange whole almonds around edge of skillet. Sprinkle cranberries and chopped almonds over brown sugar.
Whisk together flour and baking powder in a medium bowl. Set aside. Beat softened butter at medium speed with an electric mixer until creamy; gradually add granulated sugar, beating well. Add eggs, 1 at a time, beating until blended after each addition. Add flour mixture to butter mixture, alternately with milk, beginning and ending with flour mixture. Beat at low speed until blended after each addition. Stir in extracts. Pour batter over cranberries and almonds in skillet.
Bake at 350° for 55 to 60 minutes or until a wooden pick inserted in center comes out clean. Cool in skillet on a wire rack 10 minutes. Run a knife around edges. Invert cake onto a serving plate.