Well I would go with FreeBSD and IPF, PF in openbsd is just too new for me to trust it yet. And IPF also is ported to a bunch of other unix's. For a pc server it is hard to beat FBSD, when done correctly it is just so quite. And Freebsd has smp support, openbsd may have it in 3.0