+1  A: 

I think you should first check the return values of CFArrayGetValueAtIndex() and ABRecordCopyValue() to ensure you have real values, and not NULL.

Macmade
I should have mentionned: that was my first explanation, and I tried that, but it didn't help. (Actually, the error messages I quoted includes the instance pointer, which is not nil, so I'm sure I didn't mess it up.)
FX