It's great to see that someone is working on this. I'll try your changes as soon as I have a test installation running.

My code for preventing new forum posts every time the wordpress post is updated looks like this:

// Create nothing if the post already has topicid
$tid = get_post_meta($post_id, 'topicid', TRUE);
if($tid) {
    return $post_id;
}

I also have the problem that a new topic is created everytime that a post is saved in wordpress even if it was only edited. The best fix for this would probably be to find the wordpress action hook that is only executed when the a new post is created for the first time but I have not been able to find it.

My idea is to look in the punBB database for the subject of the post. If it already exists in the forum for the comments then no new topic should be created. I put the following lines in my ih_wp2punbb.php between $now = time(); and // Create the topic . 

// Create nothing if there is a topic with the same subject
$qry = "SELECT id FROM " . $db->prefix . "topics WHERE subject = \"$subject\" AND forum_id = $fid";
$rslt = $db->query($qry);

if ( $db->num_rows($rslt) )
{
    return $post_id;    
}

It would be even better to change the post in punBB so that it matches the post in wordpress since this probably was the reason to edit in the first place.