node_types_rebuild deletes disabled node types (from modules that defined node types that were disabled/removed from the system). content_type_delete does not delete fields on disabled node types.

Most people would not notice that because most things done with fields are per content type, other than content_field_list.

Steps to reproduce.
1) Enable a module that defines a content type than add fields to it. (Preferable reuse the fields from another content type)
2) Disable the module (a cache clear should happen, ie. a node_types_rebuild, but may as well do it again).
3) Visit admin/content/types/fields.
4) Look at the entry for the fields attached to the content type. It will be empty, or if field attached to multiple content types, an extra comma will appear ", [valid content type]".

My suggestion: The listing could be fixed short term (quick look looks like using a INNER join INSTEAD LEFT join would work), but likely having content_type_delete work for disabled content types may be better. (However, the deleting of disabled content types seems like a core bug [that is fixed in d7 I believe] as data should not be lost when a module is disabled [vs uninstalled]).