I made an installable extension out of it... yay!
But since there is no documentation on how to create an extension (which I'm sure is a huge hangup in the extensions community, not to mention the obscure and impossible to manipulate choice of using a fully CSS-based page design), I took an existing broken beta extension, and wrapped the code around it with a hook.
<?xml version="1.0" encoding="utf-8"?>
<extension engine="1.0">
<id>active_topics</id>
<title>Active Topics List on Index</title>
<version>1.1</version>
<description>This will add the x most recent posts to the index page of the forum for easy navigation and attention-grabbing.</description>
<author>Slavok and FalconFour</author>
<minversion>1.3</minversion>
<maxtestedon>1.3</maxtestedon>
<install>
<![CDATA[
]]>
</install>
<uninstall>
<![CDATA[
]]>
</uninstall>
<hooks>
<hook id="in_main_output_start"><![CDATA[
$topics_count = 5;
$query_active_topics= array(
'SELECT' => 't.id AS tid, t.poster, t.subject, t.posted AS has_posted, t.last_post, t.last_post_id, t.num_replies, t.num_views, t.closed, t.sticky, t.forum_id, t.last_poster',
'FROM' => 'topics AS t',
'JOINS' => array(
array(
'INNER JOIN' => 'forums AS f',
'ON' => 'f.id=t.forum_id'
),
array(
'LEFT JOIN' => 'forum_perms AS fp',
'ON' => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
)
),
'ORDER BY' => 't.last_post DESC',
'LIMIT' => $topics_count
);
$result_active = $forum_db->query_build($query_active_topics) or error(__FILE__, __LINE__);
if ($forum_db->num_rows($result_active) == 0) {
?>
<div class="main-content main-message">
<p>There is no message.</p>
</div>
<?php
} else {
require_once FORUM_ROOT.'lang/'.$forum_user['language'].'/forum.php';
?>
<div class="main-subhead">
<p class="item-summary">
<span>
<strong class="subject-title"><?php echo $lang_index['Topics']; ?></strong>
<strong class="info-replies"><?php echo $lang_forum['Replies']; ?></strong>
<strong class="info-views"><?php echo $lang_forum['Views']; ?></strong>
<strong class="info-lastpost"><?php echo $lang_index['last post']; ?></strong>
</span>
</p>
</div>
<div class="main-content main-forum">
<?php
$item_num = 1;
while ($cur_set = $forum_db->fetch_assoc($result_active))
{
// Start from scratch
$item_subject = $item_body = $item_status = $item_nav = $item_title = array();
$item_indicator = '';
if (!$forum_user['is_guest'] && $forum_config['o_show_dot'] == '1' && $cur_set['has_posted'] > 0)
{
$item_title['posted'] = '<span class="posted-mark">'.$lang_forum['You posted indicator'].'</span>';
$item_status['posted'] = 'posted';
}
$item_title['link'] = '<a href="'.forum_link($forum_url['post'], $cur_set['last_post_id']).'">'.forum_htmlencode($cur_set['subject']).'</a>';
if (!empty($item_nav))
$item_title['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('  ', $item_nav)).'</span>';
$item_body['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format(++$item_num).'</span> '.implode(' ', $item_title).'</h3> <em> by '.forum_htmlencode($cur_set['poster']).'</em>';
if ($cur_set['sticky'] == '1')
{
$item_subject_status['sticky'] = $lang_forum['Sticky'];
$item_status['sticky'] = 'sticky';
}
if ($cur_set['closed'] != '0')
{
$item_subject_status['closed'] = $lang_forum['Closed'];
$item_status['closed'] = 'closed';
}
// Does this topic contain posts we haven't read? If so, tag it accordingly.
if (!$forum_user['is_guest'] && $cur_set['last_post'] > $forum_user['last_visit'] && (!isset($tracked_topics['topics'][$cur_set['tid']]) || $tracked_topics['topics'][$cur_set['tid']] < $cur_set['last_post']) && (!isset($tracked_topics['forums'][$cur_set['forum_id']]) || $tracked_topics['forums'][$cur_set['forum_id']] < $cur_set['last_post']))
{
$item_status['new'] = 'new';
}
if (!empty($item_subject_status))
$item_subject['status'] = '<span class="item-status">'.sprintf($lang_forum['Item status'], implode(' ', $item_subject_status)).'</span>';
// $item_subject['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], '<cite>'.forum_htmlencode($cur_set['poster']).'</cite>').'</span>';
$item_body['subject']['desc'] = implode(' ', $item_subject);
if (empty($item_status))
$item_status['normal'] = 'normal';
$item_style = (($item_num % 2 != 0) ? ' odd' : ' even').(($item_num == 1) ? ' main-first-item' : '').((!empty($item_status)) ? ' '.implode(' ', $item_status) : '');
$item_body['info']['replies'] = '<li class="info-replies"><strong>'.forum_number_format($cur_set['num_replies']).'</strong> <span class="label">'.(($cur_set['num_replies'] == 1) ? $lang_forum['Reply'] : $lang_forum['Replies']).'</span></li>';
$item_body['info']['views'] = '<li class="info-replies"><strong>'.forum_number_format($cur_set['num_views']).'</strong> <span class="label">'.(($cur_set['num_views'] == 1) ? $lang_forum['View'] : $lang_forum['Views']).'</span></li>';
$item_body['info']['last_post'] = '<li class="info-lastpost"><span class="label">'.$lang_index['Last post'].'</span> <strong><a href="'.forum_link($forum_url['post'], $cur_set['last_post_id']).'">'.format_time($cur_set['last_post']).'</a></strong> <cite>'.sprintf($lang_index['Last poster'], forum_htmlencode($cur_set['last_poster'])).'</cite></li>';
?>
<div class="main-item<?php echo $item_style ?>">
<span class="icon <?php echo implode(' ', $item_status) ?>"><!-- --></span>
<div class="item-subject">
<?php echo implode("\n\t\t\t\t", $item_body['subject'])."\n" ?>
</div>
<ul class="item-info">
<?php echo implode("\n\t\t\t\t", $item_body['info'])."\n" ?>
</ul>
</div>
<?php
}
}
]]></hook>
</hooks>
</extension>

Create a new folder in "extensions" called "active_topics", and save the above code as "manifest.xml".
Honestly though, I think I might be switching to either PunBB 1.2, which is more properly and cleanly supported, or just dropping PunBB altogether, since it seems its developers don't even know what's going on! 
Last edited by FalconFour (2008-12-02 17:48:59)