There is no federal law against possession nor use of vicodin if one has a proper prescription.
There IS a federal law against possession or use of marijuana, even if one has a proper prescription.
You cannot change federal law. And the law will stand until changed by the federal legislature or marijuana is rescheduled.
Your weapons have not been compromised. Yet. I have heard legislators who are hell bent on strict gun control talk about targeting MMJ patients in Arizona for a ban on weapon purchases. Once your name is on the list (MMJ card) you can't take it off. Speaking from experience working with vets, many would prefer to get marijuana the old fashioned way rather than have their name on the list.