Maybe a module like Win32::StrictFileNames might help? I have not used this module and just heard about it. Supposedly, it enables case-sensitive checking on Windows systems.
In looking at the documentation, this module seems to be a proof of concept. The main example given is check for a used module name. But on this page http://www.bribes.org/perl/wstrictfilenames.html there is a hint at other file checking uses.
At the least, you could check under the hood and see what is being done which might help you solve your problem.