You might have discovered a bug, but that needs more investigation and I'm currently away of my boxes until the next week.
Very early on the boot process (but after loading saved settings from flash memory) /etc/samba/smb.conf hosts allow directive is modified to allow access to the current network (in case the box was moved to another network). The automatic editing assumes that several networks exists separated by *spaces*, not commas, and only the first two are/should be changed.
So you should be able to set "hosts allow = 127. yournet1/yourmask1 yournet2/yourmask2" and yournet2/yourmask2 should be preserved. I can't verify now that it is working that way.
There are a couple of other places that might also change smb.conf, such as when a DHCP renew happens, Setup->Host, Samba Configuration, SWAT and possibly others.
Changing the current behavior is not simple, and needs experimenting, but it might be that by creating and editing a user boot script solves the issue (until a DHCP renew happens?):
Go to Services->User->user Configure and fill-in under "Script to execute on power-up" the full path of a executable shell script that resides on the base of a filesystem, such as /mnt/sda2/mybootscript.sh or /mnt/md1/userboot.sh, whatever, then hit Edit and after the 'start)' line add
sed -i 's|hosts allow = .*|hosts allow = 127. yournetwork/yournetmask|' /etc/samba/smb.conf
changing yournetwork/yournetmask with your desired values, then save it. You can experiment if it is working by Stopping and Starting the user service and verifying that smb.conf is OK. A definitive test can only be made after a "save settings" and a reboot.
\Worked?