Custom field not showing

Because you’re in The Loop, you shouldn’t need to use get_the_ID(). Does this:

<div class="latest">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="boxes"> <?php echo "<p>".the_meta()."</p>"; ?>
<a href="https://wordpress.stackexchange.com/questions/109423/<?php echo get_post_meta($post->ID,"promotional_link', true); ?>">
<?php //var_dump($show); ?>
<img src="<?php echo get_post_meta( $post->ID, 'promotional_image', true); ?>" height="200" width="260">
</a>
</div><!--boxes-->
</div>
<?php endwhile; endif; ?>

work any better?