For Source/OB, -ip on the command line is correct. Don't include it elsewhere (such as in the autoexec.cfg), and make sure that it's early in the command line (such as the first thing).
I am at a loss. I did this as you mentioned, and it still occurs. I am hosting apache on the box as well, but to me that should have no impact.
In the status log it is still doing the
UDP/IP xx.xx.xx.xx, then public ip yy.yy.yy.yy
Anything else you could possibly suggest? I should also mention it always defaults the public IP to the default ip listing on network connection tcp/ip setting when it does occur.