Hi all...I was working on this and noticed that the ldap query appears as soon as you compose. I had similar problems with the addresses since it would not search the email field. Then I figured since it has to grab the whole list and do a search later based on type in, then why even use search? It appears the the regular address book uses the list_records() instead of search()
So..
I replaced this in the compose.inc file mentioned above:
$results = $cLdap->search ($ldapfields, "@" /* God, forgive me this nasty hack */, true);
with:
$results = $cLdap->list_records();
bingo...it works great. hope this helps.