I've changed the merge table names to include an EPOCH Time and random number to make sure same NAT'd requests do not use the exact same table. Still no change..
I moved the drop tables request to the end of the script so users now: Create Merge, Query Merge, Drop Merge each time. Still no change... However, it now dies on the creation of the merge tables.
I'm leaning away from a perl coding issue and more toward a file in use issue. I just need to find out how to tell if a file is locked in MySQL.
Thanks for your help guys