From a brief search through core, i couldn't verify the existance of
remove_custom_image_header() *). I only found
add_custom_image_header() that uses
add_theme_support(), so this should work.
If it doesn't you can go one step closer to core and use the Theme Modifications API. Strange as it is: The API only has a function that removes all modifications:
remove_theme_mods() that takes no additional parameters.
After thinking about it, your best chance is to filter it:
add_filter( "theme_mod_$name", 'your_callback_fn' );, but i'm not completely sure if it removes it from admin UI (10% chance it does). So maybe you'll have to unset that menu entries via another function.
Anyway: Take a look into
~/wp-includes/theme.php ... that's the "twenty ten" core support file (that won't be used by other themes i guess).
*) This is really strange...
remove_custom_image_header() now is available with WP 3.1+.
And a short edit of @t310s answer:
$GLOBALS['custom_background'] = '__return_false';
$GLOBALS['custom_image_header'] = '__return_false';
add_action( 'after_setup_theme', 'remove_theme_features', 20 );
It's just shorter.