Solution
I have gotten this to work. At least to most extent.
First I have multiple IP's behind the firewall. All incoming requests to the web server seem to default to the first one "<firstIP>".
Here is what I did:
1. I set up a domain for our hosting company "<maindomain>" using that IP address "<firstIP>". This is the Sitebuilder url we use for trial sites and also give to our clients to administer thier sites - sitebuilder.<maindomain>.com
2. Added an entry in the host file:
"C:\WINDOWS\system32\drivers\etc\hosts"
<firstIP> sitebuilder.<maindomain>.com
3. Added identity in IIS for the main SiteBuilder web site(not the Sitebulder(default) site ).
IP = <firstIP>, port = 80, hostheader = sitebuilder.<maindomain>.com
4. Modified main sitebuilder web.config "C:\Program Files\SiteBuilder\Web\web.config"
From:
<!-- <add key="PreviewHostUrl" value="tcp://localhost:1455/WebApplicationHost.rem"/> -->
To:
<add key="PreviewHostUrl" value="tcp://sitebuilder.<maindomain>.com:1455/WebApplicationHost.rem"/>
5. In SiteBuilder "Publishing Settings" I use FTP and the local, behind the firewall, ip address for the domain of the client site.
This is working for me. I would be very interested if anyone has found any other solutions or has anything to add.
Also I am now using this solution with SiteBuilder 4.0.0