thank you a lot, your post made me reconsider the duplicate special function ==>Ok I finally found out the answer to my question.
For those who ran into the same problem, to duplicate objects that have derform nodes such as clusters or lattices, and still keep their history...
all you have to do and make sure you group the object along with the defromers or bones, etc. into ONE single group. Then after you do that, select that new group and just duplicate special > checking on the input box.
so simple, but quite tricky.