I edited your code for testing purposes, and it seems to be working for me this way. So if $entry['tags'] really holds the expected content, it should work.
PHP Code:
<?php
// $entry = $db->query_first("SELECT tags FROM " . TABLE_PREFIX . "journal_entries WHERE journal_id=1");
$entry['tags'] = 'test, one, two, three four, five';
if ($entry['tags'])
{
$kwords = explode(',', trim(stripslashes($entry['tags'])));
$entry['tags'] = array();
foreach ($kwords AS $keyword)
{
$keyword = trim($keyword);
$entry['tags'][] = '<a href="/journal.php?' . $vbulletin->session->vars['sessionurl'] . 'do=showjournal&tag='.$keyword.'&j='.$j.'" target="_top">' .$keyword. '</a>';
}
$entry['tags'] = implode(', ', $entry['tags']);
echo $entry['tags'];
}
// eval('print_output("' . fetch_template('journal_blogcloud') . '");');
// $db->free_result($entry);