[Obviously the first thing I try after posting this worked...]
Resolution: I had TableLayout="Fixed" set on master table view
This needs removing for the column resizing to work. (Hopefully I didn't add that for any specific reason.)
I'd note that this still wouldn't be the behavior I'd expect and would suggest it could be considered a bug(?) - as I think the expected result of hiding a column would leave other columns at their set size and just shuffle the table around.
Edit: Ok, the reason I had TableLayout = fixed was to stop the table from expanding off the page to the right. Now I seem to have the choice between keeping the table on one page (absolutely required in this case), and being able to hide columns (really need this though). I've tried wrapping the grid in another div, but can't seem to keep it on the same page. Will try see what I can do...
I'm more convinced this should be classed as a bug now, as the most likely time to require hiding columns would be when you have lots of them in a small space.