I have been using the Huawei Ascend W1 for the last couple of days and have experienced similar issues.
This is what I have noticed.
When the contact is stored with 022xxx, the caller id works fine. But an SMS will not find the name from the address book.
When the contact is stored with +6422xxx, the called id fails but SMS's from that number will find the name from the address book.
The work around which was mentioned is to store both versions of the number in the address book but this is not acceptable.
FYI this is a known issue in the phones radio stack firmware that will be fixed with an over the air update shortly.