A mon avis tu utilise la bonne méthode, en tout cas c'est ce que je fait moi.. (l'un n'entrénant pas l'autre.)
Si c'est toujours le dernier enregistrement, tu peux lire en brut tout le fichier sauf les X derniers octets (X=len enregistrement) et les balancer dnas ton nouveau fichier. Ca sera plus rapide.
N'empèche, le fait est que pour la gestion de fichiers, vaut mieux faire du VC++..