I'm not sure if I can really help you, but you can configure the tomahawk File Upload to store the tempory files on your file system or in your ram.
So could it be that on your remote servers the files are stored in the ram and therefore the getName() method cannot return the real file location to you, because the file doesn't really exist on the file system.
Why don't you use the getInputStream method and wrap this with an InputStreamReader to your CSVReader?
or use the new seam jsf upload component
Is there an example for using the seam file upload component? The Wiki only explain how to use tomahawk for uploading files.