Hi,
you should try to use the names of the boxes and not localhost. localhost is the name for the loopback device that exists on EVERY machine. so if you try to ping or connect to localhost you'll end up on the machine you're working with and not somewhere on the net.
the problem windows tries to tell you is that, there is the loopback device on the local (windows) box and another machine with 192.168.1.2 that is also called localhost. so which one should windows use now ?
you should find out why your samba box is called localhost on the smb-net, and change the name to bmlinux. after that your winbox should see the linuxbox with it's true name bmlinux.
i hope i understood the question correctly, 'cause i didn't understand
"when i try to enter samba server(localhost) i get"
...
hope it works
cu