Sometimes, pops don't find an existing record, even when they should. However, pops always find a record if that record was created from 3cx. Here's what I think may be happening: Instead of Salesforce storing phone numbers as digit strings (which 3CX is searching for), the numbers are stored with formatting like (555) 555-5555, if that's how the field was formatted when it was typed/imported. Since 3cx is creating new records in the format it likes (raw digit strings), it finds those records. Someone please disavow me of the notion that Salesforce is dumb enough to store formatting inside its data fields instead of stripping them down to raw digits and adding the visual representation of area code parentheses and dashes in the number on the visual side after the fact. Or offer another reason why this behavior is happening.