Hi Tom,
Indeed this is the expected behavior, and is not the result of your enhancement: the "contact search" application is meant to display every "is contact person for" relationships. You can check this excellent blog post from Arno Meyer for more details:
CRM 7.0 - How to distinguish between Contact Persons and Accounts?
So if you want to retrieve only 1 individual in your case, use the "account search" instead.
Cheers,
Nicolas.