Normalmente siempre que me ha pasado algo así ha sido por dos razones.
(1) La más habitual, es porque el DCU no "cuadra" con el PAS; es decir, tienes más de un DCU de la unit (en directorios diferentes) y delphi encuentra primero el incorrecto. Revisa que no tengas DCUs duplicados o fuera de lugar.
(2) La segunda causa, mucho más rara y que me ha sucedido sólo un par de veces, es que se me colocaba un caracter raro entre líneas que me hacía descuadrar los BreakPoints. Funcionaban bien, pero a veces aparecían TODOS desplazados 2 líneas hacia abajo.
Al final es porque un programador utilizaba un editor raro sincronizar y modificar ficheros fuente, y este editor en ocasiones ańadía estos caracteres.
Lo más habitual suele ser lo primero.
NOTA: Desactiva temporalmente la optimización del compilador... No sea que te esté eliminando esa línea por su cuenta.
