RE:eliminar registro de un archivo
No se puede eliminar físicamente un registro que está a mitad o al principio de un archivo, ningún lenguaje lo puede hacer asi que el método descripto por kanner es el adecuado, es decir volcar el archivo a uno nuevo que excluye el que quieres borrar, es lo que hace el comando pack de DBase/Clipper/FoxPro por ejemplo para los DBFs.
Entonces marca con algún campo (convenientemente debería ser booleano) si el registro está activo o no, luego recorre de punta a fin el archivo pasando solo los registros activos, de esa forma te liberas de los "borrados".