I'm doing a lot of code gen in SharePoint and something that was driving me crazy was auto gen of content types, list templates, and lists from a database. The List instance would use the list template which would in turn use a ContentTypeRef. Everything worked fine, exept when I go to enter a new item…no columns! Doh! Hate the Copy By Value default of SharePoint…a nice reminder blog post is here:
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/01/28/how-to-adding-a-content-type-to-a-list-the-correct-way.aspx
Chris