I am using hidden columns to store data inside the MUI structure that I don't necessary need the user to be able to see.
MUI cannot know which data is considered private and which is public. Hence it shows everything that it is requested to show. And hidden columns are not meant to store private stuff, but only to hide information which currently not required to be visible, but which in general is public.
As I already said, hiding columns by resizing them to zero width is nothing special. But without the menu you won't be able to let them reappear. Users will hate you if you disable the menu and they have no way to get the (accidentally) hidden columns back again.
Fore instance, I may have a column with a filename in it, a second column with a category, and a third hidden column with an absolute URL to an online resource. The end user is not interested in the URL.
If the user is not interested in the URL then there should be no column for it in the list. If you are interested in the URL then you need a different approach to access it. Either by printing it to the shell or by setting a different MUIA_List_Format string which then includes the additional column containing the URL.