Preheat oven to 350°. Lightly butter a 9 by 13-inch baking dish.
In a food processor combine butter and sugar just until it forms into a ball. Add eggs, cream, cinnamon, and vanilla, and process until blended.
Break the donuts into 1-inch pieces and spread them in the prepared pan. Scatter the raisins over the top, and pour the egg mixture over all.
Set aside to soak for 5 to 10 minutes, pushing the donut pieces down into the custard to ensure even coverage.
Cover with foil and bake 35 to 40 minutes. Remove foil and bake for additional 10 minutes to brown the top.
Donut pudding is done when the custard is set, but still soft.
Microwave ice cream for 20 seconds. Stir with a wooden spoon to loosen and then stir in Marsala wine.
Cut pudding into squares and serve topped with zabaglione.