I tried your first script with 'echo' and 'cat' instead of 'etags' on linux and it worked. I wonder why you didn't simply use $_ instead of $File::Find::name?
I would suggest to try with echo and cat (or whatever works on windows) too to check if the script has the correct filenames and can access them
Comment on Re: etags not working within function called by find