...
tr=Geom::Transformation.new(group.transformation.origin)
instance=group.entities.add_instance(definition,tr)
or work out where the insertion_point is relative to the group's origin
something like...
insertion_point=[x,y,z]
insertion_point.transform!(group.transformation.inverse)###???
tr=Geom::Transformation.new(group.insertion_point)
instance=group.entities.add_instance(definition,tr)
A group's origin is at ORIGIN [0,0,0] even when it's miles away so you need to move any insert backwards ?
This is untried but my first thoughts...