First, start by making the crust. Place the whole Oreos in a food processor and blend at high speed until they are fine crumbs.
Slowly pour in the melted butter while the food processor runs at low speed, then give the mixture a quick stir to make sure it is mixed well.
Press the crumbs into the bottom of a 13x9 baking dish or pan, then place in the freezer for 20 minutes.
While the crust is freezing, make the layers. In a large bowl, combine the cream cheese and sugar, and use an electric mixer to blend them until smooth.
Add the peanut butter and continue mixing until, once again, smooth.
Spoon in the whipped topping and mix at low speed until completely mixed. Set aside.
In a separate large or medium bowl, add the chocolate pudding mix and cold milk. Whisk until the pudding starts to thicken, then let it sit for another 2-3 minutes or until the pudding is very thick.
Pour the peanut butter cream cheese mixture over the Oreo crust, and smooth it out evenly. Then spread the chocolate pudding over the peanut butter layer, and finally, spread the remaining whipped topping over the top.
Cover the dessert with plastic wrap, and chill in the refrigerator for at least 4 hours, but overnight is best.
Top with warmed peanut butter, hot fudge topping or chocolate syrup, and mini peanut butter cups.
Serve chilled.