Thanks for the reply.
I can work around it by manually setting the header row height in the case where it happens in my actual program, so it's not the end of the world, but it just would be nice if it worked as I expected.
Here is a screenshot of what it looks like WITH the "Up to 1 dia" column added, which has a category called "Holes" - this works fine.

You can see the columns to the right of it do not have a category, so in that case i increase SpanRows by one to fill up that space, and that works nicely.
But when that column is absent, and none of the other columns have a category, it turns into this:

Those still visible here are technically spanning two header rows using the exact same code as the first screenshot, but they dont autosize right.
Hopefully that is enough information. As I said, it's not the end of the world, I can work around it.
btw, great product (assuming you are involved in its creation) I plan on buying it very soon.