I upgraded my son's phone today to an Epic 4G and the rep at the Sprint store copied all of his contacts from his old phone to the new one. Now if my son tries to text someone he gets the error that he has to use a 10 digit number (with his old phone he did not need to). So he edited his contact list with the 10 digit numbers and he is still getting the same error message. He deleted the contact and any related old texts and created a new contact. Same error.
Have one of your son's contacts send a text message and see what the number is, 7 or 10 digit. Also, the standard battery pull and profile update. I will continue to search for a solution.
Might be worth syncing those contacts with a google account then doing a restore. Any time I have issues like that a restore usually does it and this way you'll be able to get back the contacts.