Preheat oven to 375° F.
Grease an 11-x-7-inch baking dish. Arrange the bread evenly throughout the dish.
Remove the gingerbread men from the tops of the cookies, and reserve them. Then, break the cookies into large chunks and add them evenly over the top of the bread.
Scatter the dates on top of the bread and cookies.
In a bowl, whisk the eggs and milk, and pour the mixture over the bread, cookies, and dates. Wait for the egg mixture to be absorbed completely by the bread. (Note: If you do not use stale bread, your dish will be too eggy and turn into an omelet on the bottom.)
In a small bowl, mix all the spices. Dust them evenly over the top of the bread and cookie mixture.
Sprinkle the orange zest over the top of the mixture.
Place the gingerbread men decoratively on top (or reserve them to garnish the pudding after baking and icing).
Cover with foil and bake for 30 minutes. Remove foil and bake uncovered for another 5 minutes or until the pudding is puffy and golden brown on top.
Remove the pudding from the oven and let it rest for 8 to 10 minutes. Ice it with the cream cheese frosting while it's still warm enough for the frosting to melt into the pudding and make a glaze. Optional: If you want to add a touch of chocolate and texture to the pudding, garnish the frosting with the chopped pieces of Gingerbread Crispy Pops. Slice and serve.