Preheat the oven to 350˚ F. Line the wells of two cupcake pans with 24 paper liners. Place an Oreo halve in the bottom of each liner, cream side up. In a medium bowl, combine the flour, baking powder and salt; stir together with a fork to blend and set aside. In the bowl of an electric mixer, combine the butter and sugar and beat together on medium-high speed until light and fluffy, about 2 minutes. Blend in the egg whites one at a time, beating well after each addition. Blend in the vanilla extract. With the mixer on low speed, beat in half of the dry ingredients just until incorporated. Add the milk and beat just until combined, then mix in the remaining dry ingredients. Gently fold in the chopped Oreos with a rubber spatula until evenly incorporated, being careful not to over-mix.
Evenly divide the batter between the prepared cupcake liners. Bake for 18-20 minutes, rotating the pans halfway through baking, until a toothpick inserted in the center comes out clean. Allow to cool in the pans 5-10 minutes, then transfer to a wire rack to cool completely.
To make the frosting, combine the cream cheese and butter in the bowl of an electric mixer and beat on medium-high speed until smooth, about 1 minute. Blend in the vanilla extract. Beat in the confectioners’ sugar until incorporated and smooth, 1-2 minutes. Add the heavy cream to the bowl and beat on medium-low speed just until incorporated, then increase the speed to medium-high and whip for 4 minutes until light and fluffy, scraping down the sides of the bowl as needed.
Frost the cooled cupcakes as desired. Sprinkle with Oreo crumbs and garnish with Oreo halves.