Ah, now I see it under the "Bugs" section in the
docs: "bless is not supported on shared references. In the current version, bless will only bless the thread local reference and the blessing will not propagate to the other threads. This is expected to be implemented in a future version of Perl."
What happens if you manually (re)bless the reference in each of the threads? Of course this is contingent upon it being possible that the reference itself (e.g., your Win32::OLE=HASH(0x437c94c)) can be shared, even though it is no longer associated with the package Win32::OLE.
Update: I think I misunderstood the bug report. I believe it's referring to blessing after the variable has been created and shared; hence the phrase "blessing will not propagate". In some test code I'm successfully sharing blessed objects between threads, so I don't know why your Win32::OLE object is getting wiped out
when you share it. How about posting some code?