How can I fix Droid2 "Link Contacts" so it chooses the right primary name? I'm having a problem with my Motorola Droid2 (Android Version 2.2) (System Version 2.3.20.A955) when it comes to linking contacts.

When I link any Google Contact and/or phone contact with a Twitter contact, the meta-contact's primary display name always changes to the Twitter handle. If I click "Edit Contact", it very clearly lists all of the correct information, including all components of the correct Google Contact name, but as soon as I leave the "Edit Contact" menu and return to viewing the contact, the name returns to being the Twitter handle.

This, apparently, used to be a problem with Android itself, but has since been bugfixed. Apparently this latest incarnation of the same issue is specific to at least Droid, if not specifically just the Droid2. It is apparently a very common complaint from Droid2 users, and it seems to common solution is to log on the Motorola forums to rant and rage.

I am looking for a more proactive solution to the problem. I am not against rooting my phone to install a different version of Android if it fixes this issue, especially if it means I get to lose all the Motorola bloatware and unremovable apps.

Is there any way to solve this issue within the current OS on my phone? If not, is there another ROM without this issue that will behave properly with my Droid2?
The Droid2 has a protected bootloader, meaning custom ROMs can't be loaded unless it is cracked.  (It hasn't been cracked yet).

That said, you can root the phone and you might be able to replace the Contacts app with another one.  The problem is that the Contacts.apk file is more than just Contacts -- it's also the Dialer.  Kind of an important file.  Replacing should be OK though as long as you back up the original and can restore it, but don't expect the replacement to work.

Googling "2.2 contacts.apk" should give you a few different versions of the app that you can download and test out.  Note you probably need to deodex your phone before you can replace a system app.  To actually replace it, use an app like Root Explorer to browse to /system/app, mount that folder as R/W, rename Contacts.apk to Contacts.backup or something, and copy in the new Contacts.apk.