trouble with the_post_thumbnail

In your work.php code sample you are calling

get_post_meta( $post->ID, 'the_post_thumbnail', true)

This has nothing to do with WordPress post thumbnails and is looking for a custom field with the post meta key ‘the_post_thumbnail’

For more info see:

To get the src url of the featured image attached to the post and use WordPress post thumbnails

change:

<?php $image = get_post_meta($post->ID, 'the_post_thumbnail', true); ?>

to:

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ));

when you echo the image:

<img src="<?php echo esc_url( $image[0] ); ?>" alt="View more info" />

The reason the array index [0] is added to $image is because wp_get_attachment_image_src returns an array(
[0] = img url attribute
[1] = img width
[2] = img height
)
To fix your php error add the missing } after your if_function_exists() { block.

Note: Unless your trying to make your theme backwards compatible to WordPress version 2.9 or earlier there is no need to call if_function_exists() on add_theme_support() or register_sidebar()