If you edit yourcollection by modifying the attribute list, then add SAMAccountName attribute into this list, as a result this attribute will not be synchronized by Re-Publishing the collection as SAMAccountName attribute is set once when the Active Directory stub object has been created.
In such a case, you must modify your collection by adding the SAMACcountName attribute, and then delete all created stub objects from the target Active Directory. Re-Synchronize your collection. SAMAccountName will then be populated on the new stub objects.
This solution also applies to the UserAccountControl attribute.