Disclaimer: I don't know XS, but since no one else has said anything ... :)
<speculation>
ithreads work at a level above any multithreading at the C level. An ithread looks a lot more like a process than, say, a Java thread, and each thread contains it's own copy of the all the data in the perl process, sharing entities only explicitly. So I think that each ithread utilizing a module wrapping an XS engine will possess it's own copy of the module in memory. If that's the case, then XS code needn't worry about threading in the perl process.
</speculation>
"The dead do not recognize context" -- Kai,
Lexx