1º Lo que preguntaste no es lo mismo que lo que querías hacer. Revisa siempre tus preguntas para que sean lo más claras y correctas posible, faclita que te ayuden.
2º Si tu algoritmo no funciona, está mal. Si a tu algoritmo le sobra algo, está mal. Es importante aceptar las correcciones y no terquear con que nuestro código escorrecto, recordemos que pedimos ayuda porque no funciona.
3º En castellaano gracias de todos modos, significa que aunque no te hayan podido ayudar lo agradeces Y este no es el caso, ya que como puedes ver, lo que dices que has hecho para solucionarlo, es justo lo que te dije que hicieras, eliminar el else.
Cita: Como te he dicho, la única razón para usar dos índices (j,i) sería que solo quisieses copiar los valores no vacíos, pero en ese caso te sobra el contenido del else, ya que repito, al no incrementar j, borras el último registro escrito de registroTemp2[] en cuanto en registro[] hay uno vacío.