Each major product that interfaces with vbulletin system, tries to do what vbulletin does. vBulletin expects that there will be only partial or symbolic links in the navbar and the footer for certain known PHP scripts such as usercp.php, register.php. These actually have to be expanded to a full URL. These same products attempt to do the same thing. Some only know of some of the links. Some do the expansion making invalid assumption about the directory layout and finally some manage to get vbulletin's method and their own to function at the same time and the really screws things up.
Every product knows about Admincp and modcp, but most of them do an excellent job of screwing them up.
Anyway, in general, the only way that works "always" is the make the link start at the root of the site but without the front part of a full URL. So, in our case the correct url in an a href tag for the photo gallery index page is '/forums/pp/index.php'
DL and I went through navbar together making sure each main url was in this form. But it appears, I forgot to do the same for footer.
Another way to look at this: the leading "/" in the url tells vbulletin and the other packages to leave it alone and then vbulletin in a function whose name I can't remember, simply prepends the
http://www.ncwoodworker.net to it.
Any URLs we add to templates should be done in this manner. Then they will always work across all the packages.