Regarding the iMessages issue...
Log out of iCloud, and then log back in. Unfortunately it will remove the authorization of your cards in Apple Wallet, but it will fix the iMessages issue.
Someone above said to save local copies of your contacts, calendars, etc. but I think the opposite would be true. If you save them, they will duplicate when they are merged with the ones stored in iCloud once you sign in again.
Log out of iCloud, and then log back in. Unfortunately it will remove the authorization of your cards in Apple Wallet, but it will fix the iMessages issue.
Someone above said to save local copies of your contacts, calendars, etc. but I think the opposite would be true. If you save them, they will duplicate when they are merged with the ones stored in iCloud once you sign in again.