I've had the same problem, still waiting for someone to give me a better suggestion:
When xrefing an Imperial dwg into a Metric drawing the linetypes are screwed-up. This is because the Imperial uses the ACAD.LIN (for inches) file, while the Metric uses the ACADISO.LIN (for millimeters) file.
The xrefed in linetypes are loaded from the Imperial file and given a name with that file's filename as prefix ... thus if you reload the linetypes they don't get overwritten.
I tried creating a lisp routine to "merge" those xreffed linetypes to the current drawing's linetypes, but AutoCAD doesn't allow the LTYPE table entities to be entmod'd.
The only solutions I found is the following:
1. Quick-fix
In Metric file: Reload all linetypes from ACAD.LIN and set LTSCALE to 25.4 (if you use LTSCALE = 1.0 usually for 1:1 drawings)
Thus you use the linetypes for Inches, but scale them to fit to millimeters.
2. Correct-fix
In Metric file: Save current layer state & export to file.
In Imperial file: Reload all linetypes from ACADISO.LIN, save.
In Metric file: Set VISRETAIN to 0, reload the Imperial xref, set VISRETAIN to 1, import the layer state you created previously & restore it.
In Imperial file: Reload all linetypes from ACAD.LIN and save.
Now if you ever reload the xref the Metric linetypes are used.
As you can see option 2 above is VERY CUMBERSOME. I don't like option 1 since it's propagating the problem to other files: If you ever xref the Metric file into any other drawing that drawing wil also have to use the Imperial linetypes.