At last! Persistence paid off.
The culprit was this line in my wp-config.php:
define( ‘NOBLOGREDIRECT’, ‘http://www.qbgarage.com‘ );
Basically, that performs a redirect when someone attempts to visit a URL that doesn’t exist. Perhaps SPF is doing something to generate the URL’s for the forum? That’s why the main forum page loads, but access to the forums triggers the redirect.
The problem is that this is very useful to direct users to the home page of the main site when they try to access a SITE that does not exist, but it creates a problem because of the impact it has on the main site. Therefore, the workaround is to create a script (something like myscript.php) and put it in the wp-content/mu-plugins folder. That way it gets executed like a network activated plugin. The script should contain:
<?php
remove_action( ‘template_redirect’, ‘maybe_redirect_404’ );
?>
Hopefully, that will help the next person that wrestles with multisite.