How to rename a content type programmatically
Looking back on this after a year, I can't reproduce my own problem. This code works, even for content types defined by modules, not created through the UI:
$type = node_type_load('my_content_type');
$type-&gt;name = 'A new name';
node_type_save($type);