I went through and added a whole bunch of contacts with mobile numbers in the format '0271231234' (as i have for every other phone ive owned).
After i had done that, i got a txt from someone in my contacts and his name didnt come up - it came through as '+64271231234'.
So i went back to the contact in question, changed his number to include the +64, and then txt's from him came through with his name next to it.
Then he called me... and the god damn name didnt come up because the call came in as '0271231234'.
It turns out that you need to add 2 of the same number to every contact you add; one with the +64 prefix and one without it otherwise it will show the contact when they txt but not when they call (or vice versa). This is ridiculous... i thought that the iPhone would be smarter than that.
Does everyone else have this problem?