I am glad to see new compare attribute in MVC3. If you do not specify the optional error message for the compare attribute, it will display everything correctly, except for the name of the field you are comparing to. It does not respect the DisplayName attribute of the compared field. For example, if you have this:
The error message displayed will be:
Notice it does not use the DisplayName of 'New Password', but instead uses the property name.
As a workaround to this, you will just have to specify an error message to the Compare attribute. I will report this as a bug to the MVC team, but it may not be something they can easily fix.