OK, here's a very simple example of the sort of thing I am talking about (Plato v4.3.0, FTN95 v5.5).
Save the code below as a file and make a project with it.
program platosdbg
integer i
i = 0
i = i + 1
stop
end
Open Plato, open the project. Under Tools-Options, make sure that 'Integrate with SDBG' is unchecked.
Click the Continue Debugging green triangle control. SDBG will open up and highlight line 3 in red to show it is currently active line.
Click line 4 and toggle a breakpoint with F2. The line will be highlighted grey to indicate an active breakpoint).
Click Run control. Program will break at line 4, now highlighted magenta (combination of grey for breakpoint and red for active line). Click Run again to get to end of program. Close SDBG. Control returns to Plato, which now displays a dark red splodge against line 4 in the left hand grey margin, to indicate the presence of a breakpoint.
Click the Continue Debugging green triangle control again. SDBG will open up and highlight line 3 in red to show it is currently active line. No grey highlight to indicate the breakpoint on line 4, but it is still there. Click Run and program will break there, with line highlighted red, not magenta. Furthermore, the breakpoint can not be removed within the IDE. F2 has no further effect on that line. On any other executable line, F2 will toggle a breakpoint on and off, but not line 4. Plato still knows about it and displays it, SDBG knows about it but does not display it, and F2 will not remove it. Neither will Cancel All Breakpoints. The only way to kill it is by editing the ini file.
Going to see if I can illustrate 'This is not a line that can be breakpointed' now.

