Problemas no DeleteRecordStore

ai galera estou tendo problemas ao deletar um registro RMS, infelizmente so ta dando certo se eu usar deleteRecord(int i ) mas esse método exige o id do registro e fica inviavel alguém ficar decorando a ordem que gravou os registros, ja fiz um método pra retornar o ID do registro mas infelizmente a resposta nem sempre é correta, como sabemos ao se deletar um registro o ID continua existindo não sendo reorganizado no registro, com isso de acordo com as circuntâncias podemos ter 2 registros com ID 5 e 6, logo esse método que eu fiz não funciona, abaixo eu vou colocar o codigo fonte, se alguem tiver alguma sugestão desde ja agradeço.

else if (command == delete) {

            getDisplay().setCurrent(get_form1());                        
            
            
            get_form1().deleteAll();//limpa a tela
            
            
            String comp=TFTexto.getString();
            
            int result = 0;
            
           
            
            try {
                
                RecordEnumeration re=  rs.enumerateRecords(null,null,false) ;
               
                while(re.hasNextElement()){
          
                    byte dados[]=re.nextRecord();
                    
                  
                    
                    ByteArrayInputStream bin= new ByteArrayInputStream(dados);
                    
                    DataInputStream din=new DataInputStream(bin);
                    
                    String texto=din.readUTF();                       
                                                        
                     //compara texto de entrada com o campos do registro
                    result= comp.compareTo(texto);
                    
                    
                                            
                    if (result==0) {
                        
                        /*até aqui ta ok so entra no result se palavra 
                        existir no registro*/
                        System.out.println("dentro do result  " + texto);
                     
                        //aqui ta o problema, nao da erro de compilacao, 
                        //porém cai no catch()
                        rs.deleteRecordStore(texto);
                        
                        //se eu usar esse metodo da certo porém como ja explique a vcs
                        //preciso do ID do registro.
                        // rs.deleteRecord();
                                                                                                                         
                        get_form1().append("sucesso ao excluir registro");                         
                                                                         
                    }
                    
                }//fim while                  
                               
                                  
            } catch (Exception ex) {
                get_form1().append("erro ao excluir registro ");
                
            }

consigui o corrigir erro em parte, consigo excluir qualquer registro menos o primeiro.

inseri as seguintes linhas no codigo

// Recupera o ID corrente dentro do if result

dados=re.nextRecord();

id=re.previousRecordId();

//deleta no indice correto
rs.deleteRecord(id);

conforme dito anteriormente ainda to tendo problema com o primeiro registro. Quem puder me ajudar agradeço.