Cab, you should be able to retrieve the entity name and from that determine what layer it is on, linetype, color etc....
I had a program I used some time ago, I will look and see if I can find it.
You should be able to nentsel an object, grab the entity list containing all of the data required to simply entmake the entity in the document outside of the block or xref. By doing so, you will match exactly the current properties and position in the drawing of the xref/block object exactly.
Now, keep in mind that when you nentsel an object you also should grab the parent entity (and it's parent entity for nested objects) until you reach the top level block or xref. To recreate the block in the exact space as the original (relationally that is) you will need to use TRANS to make sure it is put back in the correct location according to UCS.
Also remember that the entity location reference returned by nentsel is in relation to the insertion point of the parent block, not the current UCS, so nested objects will have to be realigned according to the insertion point of the parent block.
Example...
Block A contains Block B which contains Block C
Block A insbase point is 0,0,0
Block B insbase point is 12,0,0
Block C insbase point is 12,12,0
You grab an entity defined in Block C It's location is defined as 0,0,0. This means that within Block B it's relative location is -12,-12,0 and within Block A it's relative position is -24,-12,0 and within the drawing the relative position is -24,-12,0 (because insbase is 0,0,0 in Block A, but you inserted this block at 100,100,0 so, to make this show up relative to 100,100,0, you have to change the coords to 76,88,0 It will now be directly on top of the original entity.
If the UCS is off, then you will have to use TRANS to convert the entity coordinates from WCS to UCS.
I certainly hope I have not confused you.....
On second thought ... maybe someone else has a magic bullet that can handle this much easier.