Echo tags with an if statement and display php inside of the IF?

The has_tag function doesn’t do what you expect here. It actually means ‘post has tag’ checks if a post (or current post) has a particular tag. Something like has_tag( 'self-important-tag' ). See the codex

If you leave out the conditional and the post has no tags, get_the_termlist will echo nothing because it checks if the post has terms internally:

<!-- Start of tags -->
    <?php echo get_the_term_list( $post->ID, 'download_tag', 'Tags ', ', ', '' ); ?>
<!-- End of tags  -->