Is it possible these files have additional security?
Win32::FileSecurity seems like something that might help you debug it. Enumerate the current mask on your files and at least you'll be able to tell what's going. The doc has some good examples.
Comment on Re: Problem with ActiveState's Win32::File module