A couple of hours into an upgrade of CRM 3.0 to CRM 4.0, I got an obscure error that, at first, had me a little stressed out:

Action Microsoft.Crm.Setup.Server.ImportDefaultDataAction failed. Entity with id 5f2e7ae7-d327-49b5-a343-61d48f1bcd28 already has the label Currency for the column LocalizedName and language 1033 - update entity with id 43bec19f-dafc-4e1f-b0a7-243907ca3db0 cannot have the same label
-- Retry -- or -- Cancel --

I left the error message where it was (after clicking Retry a couple of times!) and quickly started googling binging for a solution. I only found one other mention of this error on the Microsoft CRM forum, and it sounded ominous. The folks who posted on that thread all said this was related to a c360 add-on for CRM 3.0 that conflicted with a 4.0 system setting. The only way around it was apparently to cancel the upgrade, wipe out CRM, re-install CRM 3.0, restore the databases from backup, and use a cleanup utility from c360 to fix the conflict.

That sounded like way too much time-consuming labor, and, as some of the forum posters mentioned, I didn't have a lot of confidence that it would be successful even after all that work. And I was so close to the finish line! My upgrade was nearly complete.

So my colleague, Michael Thompson, and I started poking around the CRM database in SQL Server Management Studio, which at this point was mostly upgraded from CRM 3.0 to 4.0. We figured out that the problem was related to a label on a custom attribute. In fact, there were two labels, one for the word "Currency" and one for its plural "Currencies". We found the troublesome records with the following query:

USE OrgName_MSCRM
SELECT * FROM MetadataSchema.LocalizedLabel
WHERE ObjectId = '5f2e7ae7-d327-49b5-a343-61d48f1bcd28'

That showed us a few rows of metadata with the offending labels. To change the labels and allow the upgrade to proceed, we used the following two queries (one at a time):

USE OrgName_MSCRM
UPDATE MetadataSchema.LocalizedLabel
SET Label = 'OLDCurrency'
WHERE ObjectId = '5f2e7ae7-d327-49b5-a343-61d48f1bcd28'
AND Label = 'Currency'
USE OrgName_MSCRM
UPDATE MetadataSchema.LocalizedLabel
SET Label = 'OLDCurrencies'
WHERE ObjectId = '5f2e7ae7-d327-49b5-a343-61d48f1bcd28'
AND Label = 'Currencies'

We ran the first query above to check to make sure the labels were updated as expected. Hoping this did the trick, we went back to our upgrade operation where the error message was still showing, and clicked "Retry" - and it worked! Whew!

I hope this is helpful to someone else out there and saves you from having to reinstall 3.0 and go through that headache all over again!