The answer is really the same to all your questions -- it is up to each state to decide. And that decision depends on the state constitution, not the second amendment.
So how can 922(o) exist?