Android 2.0以上なら onBackPressed がヨサゲだが、下位互換を考えると dispatchKeyEvent で拾った方がヨサゲ。dispatchKeyEvent の場合、UPとDOWNの2回イベントが飛んでくるので注意が必要。
Activity.finish()のオーバーライドは何か穴がありそうな気はする。