Bueno, pensando y pensando he llegado a una conclusión: Delphi te deshabilita los breakpoints
solo si esa parte del código no se ejecuta,
no hay otra posibilidad.
Fíjate (y ponlo acá para que lo veamos) en que parte de tu proyecto se llama a la función TCabTicketNewRecord, o lo que es lo mismo, si se agrega un nuevo registro en el dataset. Si no se llama desde ningún lado el debuger ignorará esos breakpoints.
A veces el debuger también ignora los trozos de código inútil. Ejemplo:
Código Delphi
[-]begin
b := 15;
for f := 1 to 5 do
beep
end;
si quieres poner un breakpoint en la línea
b := 15 no podrás hacerlo, porque como esa variable no se utiliza más adelante tanto el compilador como el debuger la ignoran.
Coméntanos si solucionas el problema.