Need help with simple “if statement” checks to output particlular CPT data depending on what client uploads/fills out

You’ve got some basic syntax problems. Your elseif statement wasn’t actually checking anything and wasn’t properly wrapped in parenthesis. The logic more appropriately checks if the first condition is true, then if the second condition is true, and finally if all else fails, display the hard coded image.

<?php $meta_box_topbanner_url = get_post_meta( $post->ID, 'meta_box_topbanner_url', true ); ?>
<?php $post_thumbnail = get_the_post_thumbnail( $post->ID ); ?>

<?php if ( !empty( $meta_box_topbanner_url ) ) : ?>

    <a href="https://wordpress.stackexchange.com/questions/49472/<?php echo get_post_meta ($post->ID,"meta_box_topbanner_url', true); ?>" target="_blank">
        <?php the_post_thumbnail('top-banner-img', array('class' => 'top-banner-img', 'title' => '')); ?>
    </a>

<?php elseif ( !empty( $post_thumbnail ) ) : ?>

    <?php the_post_thumbnail('top-banner-img', array('class' => 'top-banner-img', 'title' => '')); ?>

<?php else : ?>

    <img src="images/epr_bannder_default.jpg" alt="epr_bannder_default" width="960" height="200" />' ?>

<?php endif; ?>

EDIT

I removed a redundant check from the elseif condition.