Having had very little exposure to Cold Fusion and a lot to ASP.NET, I would say, ASP.NET offers you much better separation between markup and code (using code behind), and it offers you a true object oriented programming model, which promotes reusability and component based development.
Cheers,
Wim