I really think a "hiding" option takes less effort to program than a whole new class with all kinds of resrictions.
About the "active mode" problem: it could just be a part of it that any hidden weapon is shown as soon as you enter active mode. Still easier than the new class.