That is odd. Can you export the address book as vCard and look at the difference between an entry where phone numbers appear and entries where they don't? My first/gut guess is the X-EVOLUTION-UI-SLOT attribute of the TEL element either having a null/conflicting value in the existing vCard component and the save from Evolution proper causes a recalculation of that value.
Attached to this message is a censored+annotated vcf file that contains some of the problematic contacts... you seem to be right about the X-EVOLUTION-UI-SLOT thing. Why does evolution even need it? But as you can see, this is not limited to phone numbers... I don't quite know what to do with this. Thoughts?
Attachment:
strange-contacts.vcf
Description: Text Data