If I execute the below code to move an email by UID from the "Inbox" to a folder called "Inbox.Testing". Then the UID does not remain the same.
IMapClient.MoveByUID(uid, targetFolder);
To test the numbers I execute a search IMapClient.Search("Inbox")... and store the UID's in a Dictionary along with the IMail. I then carry out the move operation and carry out another search in the testing folder using the same process and the UID's are not the same.
From what I understand the UID remains the same providing its the same session even across folders.
I am using hMailServer.