I think i found a bug in SharePoint 2010 + Visual Studio 2010, and it is simple to simulate. I Created a lookup column in a parent site with the following CAML:
<Field ID="{D70D2F15-8692-4AE3-A364-6FC328E74ADA}"
Name="Employee"
DisplayName="The Name that will not change!"
WebId="~sitecollection"
EnforceUniqueValues="FALSE"
UnlimitedLengthInDocumentLibrary="FALSE"
Required="FALSE"
Type="Lookup"
Overwrite="TRUE"
List="Lists/Employee"
ShowField="Title"
Group="My Site Columns"></Field>
And then i created a List in my Child Site using this Field as a Lookup:
<ContentTypes>
<ContentType ID="0x010061D79DE5BEFC1A41B22A03264EDDB75F" Name="Item" Version="1">
<FieldRefs>
<FieldRef ID="{A2BE506B-6382-4828-AB47-E8C08A61FEF2}" Name="ProjectType"/>
<FieldRef ID="{d70d2f15-8692-4ae3-a364-6fc328e74ada}" Name="Employee" DisplayName="It should have changed" Required="FALSE" />
</FieldRefs>
</ContentType>
</ContentTypes>
The value in "DisplayName" will not change (at least for me did not change at all)! It Only worked for simple type of field, like Text, Note and etc.
Why does this happen ? Is this a kind o bug ?