hacer uso del turbo debugger quiere un poco de paciencia, pero al fin encontré el error, teniendo if anidados si en algún momento no entra en ninguno de los dos debe haber un else para adelantar la lista, o sea en teoría en el segundo recorrido estaba comparando el mismo nodo todas las veces y por eso quedaba enciclado