Well, I’ve done it. In fact, it was absurdly easy to do. I brought my first Terra aircraft into OpenSim.

The Imprudence viewer exported the biplane model as XML, minus any textures I didn’t actually own (I’m not sure which those would be, since I textured this myself). Then I ran Sim-on-a-Stick, logged in with Imprudence and imported the XML. Over a period of about 30 seconds, I watched Imprudence assemble the plane in pieces — all 248 of them and all textured correctly. Proof of concept: Now I can start migrating my content away from Second Life.
Just to be perfectly clear, I’m not abandoning Second Life. I just think that it’s good to have a lifeboat available if the Titanic goes down.
UPDATE: After playing around with Imprudence in Second Life for a bit, I find that I can export almost nothing, because there’s always at least one part of the model or textures that have someone else as the “creator”, even if that name is my own alt account. What I need is a viewer that ignores the creator tag. Without that, all of my content is stuck in SL.