You have a lot of possible stumbling blocks in that setup mainly VBox which has it's own complexity to deal with. Let me throw out some general thoughts about home networking. You might even find some of them helpful
 Give each of your boxes fixed ip addresses and access those shares by ip address. Linux sometimes has a hard time resolving machine names with ip addresses. There's a lot of technobable on the net about resolving this issue by installing winbind and such and some downright incorrect information about the necessity of all boxes having the same workgroup name. Static ip addresses fixes this issue. You can either do that internally in each OS or have the router do it:
I have the router assign the same IP address to the same box depending of the MAC address of each box. So BoxA always gets one address and BoxB always gets another...
For Netgear routers it's called "Address Reservation" ( I think :?: )
For D-Link routers it's called "Static DHCP"
Linksys routers are more problematic. Some routers can do it and some cannot.
It also goes by the names: "reserved DHCP", "reserved leases", and "Pre-assigned DHCP" .
 Are you by any chance using the same login username on all your boxes and have you set up that username as a "Samba user" in the linux server using smbpasswd ( or the PCLOS / KDE gui equivalent ).
This may be a problem depending on how you set this up and it's only a problem when accessing linux shares from Windows. Let me explain:
When linux browses another linux's shares it sends a message: "Hi, I'm nobody in particular, may I see your lists of available shares please?" The linux server responds with "Sure, but for protected shares you will have to provide a username and password"
When Windows browses for linux shares it sends this message: "Hi, I have logged into my Windows box with username=altair4 and password=altair4pw, may I see your list of shares please." ( You can see how Windows by design is a security problem )
. Linux responds to that message by checking against it's smbpasswd database to see if there is a matching username. If there is no match it will respond the same way it does if the Windows box was another linux and let you see the shares. If there is an exact match ( username and password ) it will also let you see the shares. If there is a match to the username but not the password, you will be in an infinite loop. You know you have this password mismatch problem if Windows Explorer keeps asking for authentication BEFORE it allows you to see the available linux shares. You've got two solutions:
(a) Eliminate the "samba user name" in the server smbpasswd database.
(b) Make sure that the samba user name and password is an exact match to the windows login username and password.
 There may be something incorrect in your smb.conf file. Open up a terminal and post the output of the followng command: testparm -s