a parte che prenderei il "programmatore" che ha scritto sto listato e lo sbatterei al muro: probabilmente con 5-6 righe fai la stessa cosa (apri il recordset e lo associ come datasource della grid opportunamente modificata nell'aspetto per visualizzare i campi)


cmq: ti sei limitata ad usare la tecnica che ti sei trovata davanti. A questo punto le cose sono due:

ti trovi due righe uguali perchè forse c'è settata la prorpietà DataSource della griglia sul record aperto (ed è quella che ti funziona, che ti visualizza anche gli ultimi 2 valori)

mentre la riga che non ti visualizza i valori e quella aggiunga dopo (strListaCGrid) perchè magari i cmapi sono sporchi e la if ti restituisce sempre ""

cmq sono supposizioni, prova a controllare quanto ti ho detto