This should do what you want:
$have_favorite_posts = false;
$favorite_post_ids = wpfp_get_users_favorites();
$cat = get_category_by_slug('news')->cat_ID;
// or if you want to use the category name (as tried in your code)
// $cat = get_cat_ID('News');
if (! empty($favorite_post_ids)) {
$fp_query = new WP_Query(array(
'cat' => $cat,
'post__in' => $favorite_post_ids,
));
if ($fp_query->have_posts()) {
$have_favorite_posts = true;
while ($fp_query->have_posts()) : $fp_query->the_post();
if ('publish' === get_post_status(get_the_ID())) { ?>
<div class="profile-item">
<!--Begin Image-->
<?php if (has_post_thumbnail()) { ?>
<div class="post-thumbnail">
<a href="https://wordpress.stackexchange.com/questions/97118/<?php echo get_permalink(); ?>" title="<?php the_title(); ?>">
<?php
$image = vt_resize(get_post_thumbnail_id(), '', 50, 0, true);
$url = $image[url];
width = $image[width];
$height = $image[height];
$alt = get_post_meta(get_post_thumbnail_id(), '_wp_attachment_image_alt', true);
if (! $alt) $alt = get_the_title();
?>
<img src="<?php echo $url; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $alt; ?>" />
</a>
</div>
<?php } ?>
<!--End Image-->
<a href="https://wordpress.stackexchange.com/questions/97118/<?php echo get_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</div>
}
endwhile;
}
}
if (! $have_favorite_posts) { ?>
<div class="profile-item">
<strong><?php _e('You are not currently following any items in this category.', 'bd_lang'); ?></strong>
</div>
<?php } ?>
// EDIT: now, you also see the not following message if there are favorite posts but not in the given category.