Its good that the Move and Copy functions return the new UID of the message in the destination folder.
Currently I am storing the UID, WorkingEmail (which is email and destination uid) in a dictionary, like below.
public IDictionary< long, WorkingMail> CurrentWorkingMailSet { get; set; }
When I try to get the destination UID it always ends up NULL
CurrentWorkingMailSet[uid].DestinationUID = IMapClient.CopyByUID(uid, targetFolder);
Did I understand correctly. That the CopyByUID and MovebyUID return a long of the destination UID?