I have had bad experiences with tied/magic scalar and using a Perl debugger. The watch window in the debugger will cause every tied variable to have its value regenerated on every step. According to your error messages, the debugger tried to read a tied variable and the method behind the fetch failed because the Win32::OLE call failed.
checks into the tied implementation methods to return undef if the caller didn't start with "main::". Try running your script without a debugger.