I haven't tested yours, because by the time I found it I had already done this, and I don't claim this is better. For instance mine does not yet do Category feeds. It is likely to differ in details.

The things I found lacking in the original script were (apart from adding Topic and Forum support):
* it did not advertise feeds (this requires a change to header.php)
* "smart" abbreviation of messages to form titles in "topic" feeds
* it did not mention user names
* it needed tweaks to work with 1.2.1 which is what I happened to have installed
* it didn't strip BBCode in a couple of places it should, etc

It's simply provided as an alternative on a "take it or leave it" basis. Any further improvements or ideas I have will be committed to that source.

Here is an alternative modification to rss.php, for PunBB 1.2.1, written independently. Supports "latest posts", forum, and topic feeds. Quite a few other changes have been made to better support requirements of our site, including citing poster usernames in message titles, abbreviation of message in titles, etc.

With the following patch to header.php, the feeds are also advertised in the document HEAD so can be automatically found by Firefox, Safari, etc. Add the following after "<?php" on line 66:

    $rss = "rss.php";
    $rsstype = "latest posts";
    if(strpos($_SERVER['REQUEST_URI'],"viewforum")){
        $rss .= "?forum=".$_GET['id'];
        $rsstype = "forum";
    }else if(strpos($_SERVER['REQUEST_URI'],"viewtopic")){
        $rsstype = "topic";
        if(array_key_exists('id',$_GET))
            $rss .= "?topic=".$_GET['id'] ;
        else 
            $rss = "";
    }
    if($rss) echo "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"$rsstype: $page_title (RSS 2.0)\" href=\"$rss\">\n";