In my answer to a question on page breaking, I used a private switch that the user had to set by hand to prevent tables which start just after a section from breaking (at the first line).
It seems that \@nobreaktrue is set after each heading, and restored as soon as the next paragraph begins (see definition of \@afterheading).
Is this the only place where \if@nobreak is altered? Am I right that the intent of this switch is to indicate places where macros should avoid at all costs to insert page breaks?