If I had more time, I'd actually try your code, but for now, have you tried
stepping through in the debugger using F8 to see what actually happens when
you run your code and inspecting the results of each variable assignment as
you go to make sure it's what you expect?
I'm not familiar with the FileSearch object - after a successful Execute,
since you have "search subdirectories" turned on, isn't there some way you
must find out the full path to the found file, since it can be in a
subfolder? If the subfolder search is unintentional and all you're trying to
do is see if a certain file exists in a certain folder, you don't need to
use FileSearch - you can just use the good old Dir() function.