or use INSERT instead of bind...unless you are attempting to preserve the XREF file name in the layer...
The Query>>ALL process would have no bearing on their layer names, or lack of following their own layer naming convention.
I use the MAP>>Query process most of the time to handle data from other sources such as you are dealing with.
Then during the import process, one can use an Alter Properties statement, and a Range Table to MAP their layer names to the desired layer names.
I didn't know you could do that in Map, pretty sweet. Going to have a look in the morning.
Your work order is as follows
open empty drawing in MAP
Attach a source file
Use the Location button on the Query Composer to select ALL, or the desired boundary for advanced users.
Then use the DATA button, and Select Layers, this will give you the list of Existing layers in the source file
Click Alter Propertiesm, Look for Ranges... in the lower right hand quadrant.
Then create the alter properties of Layers Range Table where One Layer in the Source is mapped to the correct layer in the destination file. Once you have all layers in the source related to layers in the destination, then alther the layer properties using the range table you just made.
Execute the query, and now all items on the BAD layer named layers, are all now on the desired layers in the destination file.
I await A) your triumphant exultation of success, B) your next question.
This is why I always try to include at lease three(3) MAP examples in all of my Civil3D classes....as long as MAP is there we might as well leverage some of it's power.