I am developing a program that will be running on a server that another program, running on terminals somewhere else on the network, will be sending files with their status in some format (current I was thinking xml). Then my program will have to take the data and store it in a database and refresh the grid.

My question is what functions should I be using to send/receive the files?

Another route is using named pipes if the computers will be on the same LAN. ddanbe's suggestion is the most generic and common though, so if you want to play it safe then use tcpip. Named pipes don't play very well on some versions of windows.

It is possible that this will be used on a WAN and a LAN, so it would be nice if it works for both.

Then use TCP/IP as ddanbe suggested