Thank you very much Smartys. I tried it but it didn't work so I began playing around with it and came up with the following which now works.
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, p.poster_id as last_poster_id FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'posts AS p ON (p.id=f.last_post_id) WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position') or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
I had to change INNER JOIN to LEFT JOIN towards the end of the code and I also had to remove "true" from that line as well because if left in I can only see 2 of my forums. The same thing happened when I left INNER JOIN there as well. Anyway, it works great now.
Thanks again
Bingiman