Heh, another thing I figured out, have to re-order everything so the collision draws first, otherwise you get transparent-o-ship... Means detail0 has to be null... urgh. Is it just me, or does the art workflow in this engine just keep throwing surprises at you?
Try this.
Create the collision mesh. Keep the mesh closed, this will help towards eliminating holes. UV map it and assign invisible.tga to it. PCS2 and FSO don't actually need the invisible texture but it tells the engine that the object is not viewable. The collision mesh is 590 polys and I haven't yet done any testing to see if less polys make any visual difference to the hits.
Model and texture by Wildcard

The next part is PCS2. Lod 0 is about 5k vs 590 polys in the collision mesh.
Set the properties of detail0 and its sub-objects to $nocollide_this_only
This disables collision on each of the meshes.
Next the collision mesh is set to $collide_invisible
Normally objects with an invisible texture can't be collided with. This reverses that.

As you can see in PCS the collision mesh hides the model, but Freespace shows only the ship.

Looking at detail0's wireframe you can see the collision mesh around the model.
