Answer
Check for a "Field Ranking" collection under the page's content node — on pages with a large number of columns (like Customer Order Lines), this separate ranking list controls display order and, indirectly, whether a column shows up in practice; a newly added column can end up ranked far down the effective list even with an early ordinal value in the main content collection, which is what actually causes it to seem invisible rather than the Visible/Column-Visible condition itself being wrong. Also be aware of a related quirk: when adding a rank, the value must exactly match the field's own name, not just any attribute ID from the picker — if the field's name differs from its underlying attribute name, adding a rank for it silently fails, so keeping the field name matched to its attribute avoids that specific dead end.