I am afraid lot of the authors here are better designers than developers. They have either never heard of modularity or are very afraid of it. Hence I find authors saying things like “removing the theme will remove the entire feature”.
Please understand here that the user should not be tied to your theme. Should s/he decide to move on tomorrow to another theme, your custom meta-boxes and what not need be to visible with that theme as well (unless that theme deliberately hides it), if you don’t want that happening, then stop coding functionality items! Stay with CSS for that matter. The moment you touch functional items, you are entering plugin territory.
Just because you put in 1000 person-hours in a code base which has no modularity in it, it doesn’t mean the community has to make do with it. In all certainty, you shouldn’t have built it that way if you cannot move around modules or activate/deactivate them. They cannot be such godly artifacts if they cannot withstand a little shuffle of presentation vs. function and will have to completely thrown out sooner than later…
There’s a new category for themes like that, named Themelugin