COLLATE NOCASE funciona apenas para os 26 caracteres maiúsculos de ASCII. Defina a localidade do banco de dados para uma que tenha suporte a caracteres acentuados usando
setLocale() e use COLLATE LOCALIZED . Você também pode tentar usar
COLLATE UNICODE .Mas cuidado com este bug:SQLite UNICODE sort quebrado no ICS - não diferencia maiúsculas de minúsculas. Verifique a documentação para menção desses dois collators no Android.
Confira também esta ferramenta de demonstração de agrupamento online.