When you compile your project, you'll see little blue dots appearing in the gutter (grey left-hand margin) on most lines. Each blue dot represents a line that can be stepped onto while debugging. System units like SysUtils and Variants won't have blue dots, and therefore cannot be stepped into, or have breakpoints set on them. Any breakpoint set on a line without a blue dot at compile time will be ignored.
Incidentally - this is also a really quick way of determining if you have any code that is not being used. If you see one of your methods without blue dots - then it's not ever going to be called. This may represent an error in your program somewhere.