Mark complained that a common control for associating extensions is well overdue.
This is a recurring theme I see in the comments: People complaining that Windows lacks some critical feature that it in fact already has. (In the case, Windows had the feature for over two years at the time the question was asked. Maybe the SDK needs a ribbon? j/k)
Windows Vista added the Default Programs UI as a control panel program, and it also has a programmable interface. You can use
IApplicationAssociationRegistration to query and set default associations, and you can use
IApplicationAssociationRegistrationUI to invoke the control panel itself on a set of associations associated with your program.