Function implementation in derived classes
The default Entity implementation of this function should be adequate for most derived entity types. However, derived entity classes that wish to support non-uniform scaling or non-orthogonal transformations will need to override this method with their own implementation.
This function must create a copy of the entity (using memory that has been dynamically allocated), apply the transformation matrix transform to the copy and then return the transformed copy.
Determining what constitutes a valid transformation matrix and whether to do a shallow clone (that is, the entity's clone() method), a deepclone (if the entity owns other objects), or no clone at all (that is, make this function a no-op), is up to the implementer.
Default implementation
If the entity is uniformly scaled and orthogonal, Entity.GetTransformedCopy will call the entity's clone() method to create a clone of the entity, then call Entity.TransformBy() on the clone, and then return the transformed clone.</QUOTE>
Each dynamic block reference has undocumented ExtensionDictionary to hold information on how it is related to the original dynamic block definition in spite being the reference of an anonymous block definition. When a shallow copying (Entity.Clone()) happens, its ExtensionDictionary data would not be created with the cloned block reference, thus, its "dynamic" capability is lost, and just becomes a regular reference of an anonymous block definition.
I am not sure what you really want to do, but creating dynamic block reference by GetTransformedCopy() probably is not something you want to or should do.