Nedotazujete se na _id z databáze (pouze sloupec KEY_NAME2), takže jej nemůžete získat z adaptéru.
Tento řádek:
Cursor cur = (Cursor) parent.getItemAtPosition(position);
je úplně špatně. Pokoušíte se přetypovat řetězec (který vrací ArrayAdapter<String> na kurzor, který nikdy nemůže fungovat.
Co musíte udělat, je použít CursorAdapter (nebo SimpleCursorAdapter ) pro váš ListView. Kurzor by se měl dotazovat alespoň na _id a KEY_NAME2.
S tímto adaptérem getItem(int position) vrátí kurzor nastavený na požadovanou pozici. Pak vše, co musíte udělat, je cursor.getInt(cursor.getColumnIndex("_id")) a jste tam.