First, make the cranberry sauce. In a medium saucepan, combine the cranberries, granulated sugar, orange juice, and orange zest. Bring to a simmer over medium heat, stirring occasionally. Cook for 10-12 minutes, until the cranberries have burst and the sauce has started to thicken. Remove from heat and stir in the butter, corn syrup, and allspice until the butter is melted. Set aside to cool completely.
Preheat your oven to 350°F (175°C). Grease and flour two 8-inch or 9-inch round cake pans.
In a large bowl, combine the cake mix, eggnog, oil, eggs, vanilla extract, and ground nutmeg. Using an electric mixer, beat on low speed until just combined, then increase to medium speed and beat for 2 minutes until smooth.
Pour the batter evenly into the prepared cake pans. Bake for 28-35 minutes, or until a wooden skewer inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting them onto a wire rack to cool completely. The cakes must be fully cool before frosting.
To make the frosting, combine the softened cream cheese and butter in a large bowl. Beat with an electric mixer on medium speed until smooth and creamy. Gradually add the powdered sugar, one cup at a time, mixing on low speed until incorporated. Add the vanilla and cinnamon, then beat on medium-high speed for 2 minutes until light and fluffy. If needed, add heavy cream one tablespoon at a time to reach a spreadable consistency.
To assemble, place one cake layer on a serving plate. Spread about half of the cooled cranberry sauce over the top, leaving a small border around the edge. Top with about 1 cup of frosting. Place the second cake layer on top. Frost the top and sides of the entire cake. Drizzle with the remaining cranberry sauce before serving.