I had to do a bit different workaround, but your post really helped...
I was getting the same invalid ENTRYID error when accessing my contacts in Outlook 2007 through "Address Book", but I didn't have a problem if I opened them from within the "Contacts" view. All the problems seem to be with the contacts added from my iPhone, and I just assumed it was a mismatch of fields (what I mean is, fields on my phone are in a different place than in my Contacts.)
Also, in my address book I had what looked like a bunch of empty contacts at the top of the list - and those turned out to be business phone numbers (that I had entered on my iPhone) that did not have a person associated with them. I had put the name under the "Company" field and left First and Last Name blank. Apparently that freaked out Outlook...
This is what I did to "fix" it (and so far it works) - and remember, I couldn't access these contacts through "Address Book". This was all done through my Contacts view.
(1) I Opened each contact and changed the "File As" field to show First/Last (rather than Last Name/First).
(2) Clicked on the button "Full Name", then clicked okay to close that window
(3) Click Save-&-Close
If I didn't click on the "Full Name" button, it didn't change the name order when I saved the contact - even if I re-typed it.
So I think going into the "Full Name" window somehow forces the change you made to First/Last name order, and somehow this fixed all my problems.
You may need to close Outlook and re-open it before testing the changes. I did it before testing because I figured it was necessary, but it may not be.
I know I don't sound very tech-savvy, and I probably used elementary terms, but this worked for me - and this is AFTER trying the export/re-import of the address book route (which didn't work, by the way.)