For the Cake:
1 1/8 cups butter, room temperature (2 1/4 sticks)
1 cup white sugar
1 teaspoon vanilla extract
3 cups all-purpose flour
1 teaspoon salt
1 teaspoon baking soda
1/4 cup unsweetened cocoa powder
1 tablespoon milk
3 cups pitted tart cherries (canned, frozen or fresh), patted dry
For the Filling
One 3.5-ounce box non-instant vanilla pudding, made according to directions
For the Topping:
1 1/3 cups semisweet chocolate chips
2 tablespoons vegetable oil
Preheat the oven to 350 degrees F (175 degrees C). Grease a 12x18 inch rimmed baking sheet or jelly roll pan or line with parchment paper.
In a large bowl, cream together the butter and 1 cup sugar using an electric mixer.
Mix in the eggs one at a time, then stir in the vanilla. Combine the flour, salt, and baking soda; quickly fold into the egg mixture.
Spread 2/3 of the batter in the bottom of the prepared baking sheet. Stir the cocoa powder and 1 tablespoon of milk into the remaining batter just until blended. Spread evenly over the vanilla layer. Pat the cherries dry with paper towels, and sprinkle them evenly over the top of the cake batter.
Bake the cake in the preheated oven, until a toothpick inserted into the center comes out clean, about 40 to 50 minutes. Let cool.
In a small bowl, whisk together the cornstarch and 1/2 cup sugar. Heat the milk in a small saucepan just until hot but not boiling. Whisk in the cornstarch mixture, and bring the mixture to a boil. Simmer, stirring constantly, until the mixture
thickens, about 2 to 3 minutes. Remove from heat and stir in the vanilla. Spread the thickened custard over the surface of the cake and refrigerate overnight.
For the chocolate topping, place the chocolate chips in a microwave-safe bowl. Heat at 30 second intervals, stirring each time, until just melted and smooth. Stir in the oil. Working quickly, spread the chocolate over the chilled custard layer. If you like, you can use the tines of a fork or a cake comb to make "waves." When the chocolate is set, cut the Donauwellen into about 20 squares to serve.