If you have a multicolumn listbox with row headers not visible, the property "Number of Columns" works as a sane person would expect.
However of the row headers are visible, then when you write to the "Number of Columns", it counts the row headers as one of the columns, but when you read the property, it doesn't count the row headers column. Thus if row headers aren't visible & you write 4 to "Number of Columns", you get this:
and read back 4.
But when row headers are visible, and you write 4, you get this:
and read back 3.
And if you go to the properties page and enter a number for "Number of Columns", you entry will be reduced by 1; this also means that the increment button doesn't work.
You didn't say what version you're using but I see the same thing in 2012.
In addition, the decrement button in the properties page decreases the number of columns by 2.
I was using LV 2018. They probably can't fix "Number of Columns" now, because there might be a lot of code out there that works around this problem, and that code wouldn't work correctly anymore if they fixed the property. The best they could do is add a new property "Real Number of Columns".