Thanks t310s_,
Turns out my initial question was slightly different to cogmios', but I think I've found the answers to both anyway.
register_taxonomy_for_object_type doesn't seem to do anything; at least it didn't in my tests. Unless a taxonomy is assigned to an object from the second parameter of register_taxonomy or from register_post_type it doesn't show up in the dashboard.
I didn't realise before that the second parameter of register_taxonomy can accept a single object type string, an array, or a null value. As far as I can tell, this parameter is the only way to assign a taxonomy to an existing object (such as posts and pages), but you can also assign a taxonomy to a custom post type from within register_post_type, and when you do so, it doesn't matter what objects are in register_taxonomy.
So, in summary, to assign a custom taxonomy to multiple custom post types, either use an array in the second parameter of register_taxonomy(e.g., register_taxonomy('example',array('post','page','custom-post-type');) and add your new custom post types as you go along, or leave that parameter blank (e.g., register_taxonomy('example','');) and add the taxonomies when registering the new post types.