Me ha sucedido algunas veces, incluso en versiones recientes de Delphi. Aparentemente se debe a que el archivo de código en cuestión tiene caracteres invisibles que el mapeo del depurador interpreta de forma incorrecta.
La solución que aplico en estos extraños casos es fijarme a partir de qué línea (comenzando desde arriba) se "desfasan" los puntos de ruptura. Una vez determinado esto, quito y vuelvo a poner las líneas en blanco que estén cercanas a esa sección de código. Ocasionalmente también debo ir al final de las líneas de código (con la tecla
Fin/
End) para cerciorarme de que no haya caracteres invisibles agregados en esa parte.
En pocas palabras, manualmente puedes quitar los "espacios" o "saltos de línea" defectuosos, hasta que todo se torne normal nuevamente. Esos caracteres de control defectuosos van a estar en la línea o antes de la línea donde aparece el primer punto de ruptura malo.
Espero te sirva, saludos.