In NC, people with purchase permits for handguns or concealed carry permits are checked daily for arrests or warrants as well. If something shows up, their permits get revoked. It's entirely up to the holder to surrender it. They can be charged if they don't, but they can always say they've already used it, lost it, etc. since there's no efficient way to verify that they have used it. In SC, they don't have a purchase permit system for handguns so Dylann Roof was able to purchase a handgun when he would have been prevented from doing so in NC because the permits are individually reviewed along with their criminal history.
There are a number of charges in addition to felonies (domestic violence, etc) that would cause a revocation.