テーブルに存在しないカラム(start_datetime)をORDER BY句で指定していても、実際のSQLではエラーとならないように取り除いて実行されていました。

$order = array(
	'Aaa.status' => 'DESC',
	'Aaa.start_day' => 'ASC',
	'Aaa.start_datetime' => 'ASC'
);

$this->Aaa->find(
	'all',
	array(
		'order' => $order
	)
);


実行されたSQL
・・・・・
 ORDER BY
 `Aaa`.`status` DESC,
 `Aaa`.`start_day` ASC
 LIMIT 10

単純にカラム名を間違えた( [誤]start_datetime → [正]start_time )バグだったのでプログラムを修正したのですが、実行したときにエラーとならないため見過ごしてしまいそうです。

$order = array(
	'Aaa.status' => 'DESC',
	'Aaa.start_day' => 'ASC',
	'Aaa.start_time' => 'ASC'
);

$this->Aaa->find(
	'all',
	array(
		'order' => $order
	)
);


実行されたSQL
・・・・・
 ORDER BY
 `Aaa`.`status` DESC,
 `Aaa`.`start_day` ASC,
 `Aaa`.`start_time` ASC
 LIMIT 10

要注意ですね。