Discussed in #2419
Flopy only respects MFSimulation.simulation_data.max_columns_of_data when the simulation is created from scratch, not when it is loaded.
This is rooted in some hairy logic involving two other (evidently user-facing, and not mutually exclusive) options max_columns_user_set and max_columns_auto_set. Are these necessary?
When one sets an option, flopy should respect it. If for some reason it can't, warn or raise an error