I have had the extreme good fortune to be able to rewrite a few asp.net wizards from scratch that I first wrote a year-and-a-half ago. Every developer should have this opportunity for two reasons: 1) to demonstrate how far he or she has come since writing the original app (feels pretty good), and 2) to perform restitution to those poor users who have had to use the original.
We as developers seem to rarely get an opportunity to completely rewrite an old app, so it gave me an opportunity to think about the differences.
1) The original was written in VB.NET. I've since moved to C#.
2) Layers. The new wizard design has a strict UI, business, and data layer design.
3) Web Controls. I used web controls from the beginning but the more I use them the more I appreciate how clean they make the .ASPX and code-behind pages, as well. I am becoming a big fan of Web Controls.