By client-server, do you mean the application architecture which relies on the server component running in a server like Windows Server 2003 and the client component of the application running in a Windows XP workstation?
The other way of implementing an application is the workstation architecture, where all the functionality is in the program running in the workstation and the file server simply provides file storage facilities.
If you only have Windows XP PCs in your network, you are limited to peer-to-peer connections because Windows XP as a workstation can handle only 10 concurrent incoming connections (which according to some sources can be tweaked to 50).
In a server based solution in the Microsoft environment you need to get Client Access Licences (CALs) for your XP workstations.
If you use Linux Samba as the file server, you do not need CALS. However, if your true client-server applications have been written to run in a Windows server, you do not have a choice.