@ analogue
You're right, there might be a little disadvantage for the advanced user who insists in the freedom of choice where to open a link if a "_blank" link is used. If you want to open it in the same window, you can still do it, just right click the link and choose copy link adress, then paste it into the location bar.
What we need to do is to weight the advantages and disadvantages of normal and "_blank" links in relation to the likings and expectations of our users.
I consider myself an advanced user, I know about right clicks to open links in new windows or new tabs. Given the experience I made with most websites, I become accustomed to having a link leaving a website open in a new window. And you know what? I like it because it makes perfect sense to me. But as this is just my opinion we should not overweight it.
If I look at my forum (and yes, the following numbers are just a qualified guess), I would estimate that 70% don't know of the right click option, from the rest 70% never use it because of the extra click needed, and from the remaining rest 70% (like me) just don't want the external link open in the same window. So we have 2.7% of the users who - like you - insist in the choice to open external links in the same window. And we have 97.3% of the users, who would in one way or the other be bothered with unwanted or at least unexpected behaviour or having to make an extra click.
As you (and 2.7% of my visitors) still have the choice to open a "_blank" link in the same window, as I mentioned in the beginning, I will put this burden on your shoulders to save the other 97.3% from a negative experience in my forum. This doesn't mean that this needs to be the standard behaviour of PunBB but it shows my experience with my forum (which is not PunBB yet).
I understand Rickards point of staying xhtml compliant, so I will use a javascript solution like
<a href="http://domain.tld/path/to/file.php" onClick="return newwindow(this)">Linktext</a>
to have a solution that works fine even if javascript is disabled. function newwindow() needs to be included somewhere and "return false".
Hope this might calm down the emotions a little bit.