わかりました...あなたはほとんどそこにいました。 BINARYキーワードをフィールド名として扱わないようにCakePHPに指示するには、フィールドを括弧で囲む必要があるだけです
これでうまくいくと信じてください:
$this->User->find('list', array(
'fields' => array('User.username'),
'conditions' => array(
"OR" =>array(
"BINARY (`User`.`last_name`) LIKE" => $search_data."%",
"BINARY (`User`.`username`) LIKE" => $search_data."%",
"BINARY (`User`.`first_name`) LIKE" => $search_data."%"))
));