Help with a function in a widget

First, if meta key is isbn_metadata is the meta_key you should specify this meta key instead of _isbn.

Second, get_post_meta return an array unless you set the third parameter to true. So, you can do this:

function get_kalahari_affiliate_link() {
    $isbn_metadata = get_post_meta( get_the_ID(), 'isbn_metadata', true );
    if( ! empty( $isbn_metadata ) ) {
        $link = 'http://etrader.kalahari.net/referral.asp?linkid=5&partnerid=5710&ISBN=' . $isbn_metadata;
    } else {
         //Empty string or you can set any other value for control
         $link = '';
    }
    return $link;
}

Note: You are using get_the_ID() , I assume you are executing the function inside the loop as required by get_the_ID().

About the widget areas problem, as you are using a third party software, you should ask to the developer.