Android: onBackPressed () no funciona

Tengo un desarrollo de aplicaciones contra Android 2.1 y quiero anular el botón de retroceso.

He seguido el ejemplo aquí:

http://android-developers.blogspot.com/2009_12_01_archive.html

Y mi código es el siguiente:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
        if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
                && keyCode == KeyEvent.KEYCODE_BACK
                && event.getRepeatCount() == 0) {
            Log.d("CDA", "onKeyDown Called");
            onBackPressed();
        }

        return true;
    }

    @Override
    public void onBackPressed() {
    Log.d("CDA", "onBackPressed Called");
        Intent setIntent = new Intent(Intent.ACTION_MAIN);
        setIntent.addCategory(Intent.CATEGORY_HOME);
        setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(setIntent); 

        return;
    }   

Funciona en dispositivos pre 2.x pero no funciona en un Hero con 2.1 update-1 y un Nexus One con 2.2.

¿Hay algo que me falta en el ejemplo? ¿O alguien puede señalar por qué no está funcionando?

Ni siquiera presiono el botón en el logcat.

Respuestas a la pregunta(3)

Su respuesta a la pregunta