OK. This is solved. First cup of coffee morning revelation.
For each part there are a set of what I'll call "fixed" properties, including Name, ID, Partition, Symbol Name, Name Inverted and *lo and behold* "Forward to PCB". Selection choices for the "Forward to PCB" property are Inherit from Definition, True, False. I never noticed this until this morning.....
I deleted the manually added User Property, applied this "fixed" property to the BOM only items and it all now behaves as expected.
I also note that Borders have a property FORWARD_PCB with a value of "0", which also does not show up in the Property Definition Editor.
Why don't properties like these show up in the Property Definition Editor list?
Why are these properties inconsistently handled?
As you have noticed these 'properties' don't show up as properties, this is because they are built-in attributes, not properties managed by the prp file. However, to pass the settings from the symbol definition (the Inherit from Definition option) to the tools requires a property in the symbol editor - hence some inconsistency in what is displayed depending on the editor (symbols are ASCII so we need to embed the data somehow).
You should also take into consideration the 'Part List Exclude' property if you want such items to appear in the BOM but not on the PCB - this is discussed elsewhere on the community and also fully documented in the user guide.
Thank you for the explanation. We use the Part List Exclude property extensively.