I have had exactly the same problem. I first restored my iPhone 4s from iCloud, this didn’t restore my contacts then after restoring my phone from computer back up my contacts stayed for about 30 seconds - 1 min before disappearing again! I finally figured out that the problem was iCloud. I removed my iCloud account from my phone and eventually my contacts have stayed. I had to go on to my iCloud through ie to find out that my contacts were not there any more. But I want to use iCloud and I have no idea how to without it overwriting my contacts with its incomplete list! I also have no idea why iCloud has decided to delete some of my contacts?!?!?!