Hi Luis,
you do can use Nest in this case (an interesting problem by the way!):
r = v : {{x1_, y1_, z1_}, {x2_, y2_, z2_}} :> Sequence @@ dtr[v];
cuboids = Nest[# /. r &, {{{0, 0, 0}, {128, 128, 128}}}, 6];
Graphics3D[Cuboid /@ cuboids]
First I was playing around with SubstitutionSystem but I could not make that work ...
Regards -- Henrik