I use NAT almost all the time, and exersize it pretty hard. The two windows tools that sometimes have trouble are netmeeting and file sharing. I usually need to switch to bridging and ethernet connection to get fileshareing to work (as a server) as a client, I can mount filesystems no problem.
I have run up to 2 windows and 2 redhat clients at the same time as the base OS and it has worked fine over NAT.
I set up two networks on each client, the NAT one, and a Host-only one. the host-only one I give a higher level of trust to in some of the clients.