This is an interesting feature in Salesforce.com. I deployed a fairly standard Visualforce page from one of our sandboxes to production and it began throwing the following error:

'OpportunityContactRoles' is not a valid child relationship name for entity Opportunity
I thought this was strange as it was working in sandbox and OpportunityContactRoles is a standard relationship. This should not throw an error.

We finally solved the problem by adding the related list to the STANDARD page layout for the recordtype and this fixed the Visualforce page. Go figure.