How to get ONLY the URL of the image that show_media_header returns?

Try this Dynamic Header plugin function:

 get_media_header_url()

instead of this one:

show_media_header()

It is defined as

function get_media_header_url() {
    global $post;
    $post_id = $post->ID;
    //Declare the wpdb var and table name and run the query to see if there is a media object associated with this post
    global $wpdb;
    $table_name = $wpdb->prefix . "custom_headers";
    $check_q = $wpdb->get_row("SELECT * FROM $table_name WHERE post_id='$post_id' AND header_type="media" LIMIT 1");

    //This large chunk of code determines what page we are on and whether to load a fixed or random header.
    if(!is_home()){
        if($check_q->url == 'Default' || $check_q->url == '') {
            $initial_file_value = get_option('dhnd_default');
        } else {
            $initial_file_value = $check_q->url;
        }
    } else {
        $initial_file_value = get_option('dhnd_homepage');
    }

    $load_this_media = process_media_header($initial_file_value);

    return $load_this_media;
}

I found it in the plugin source code, provided by @s_ha_dum:

http://plugins.trac.wordpress.org/browser/dynamic-headers/tags/3.5.3/custom-header.php#L394

It has also the functions dh_get_page_image_url() and dh_get_page_link_url().