Hello Ibrahim,
I do not know of a way to postpone a posted command, but have some other thoughts.
- Have you seen the ElementTransformUtils.CopyElements() method? If that will not suffice then,
- Chaining multiple PostCommands together scares me but, a while back I created a PostableCommandBase helper class to help me run code after a posted command completed. Perhaps you could use it to get the results you need, http://forums.autodesk.com/t5/revit-api-forum/a-question-about-suppressing-warning-messages-in-revit/m-p/6367827#M16595