At face value the no fly / no buy makes sense, but the FBI is already alerted if someone on the terrorist watch list purchases a gun and surveillance is increased. Being on a watch list is not permanent. Also, there is that pesky little part of the constitution which protects individual rights in that due process of law must be followed in order to condemn a person.
Ask yourself this question: If someone is on a no fly list, then how did they enter the United States? If they entered illegally and attempt to purchase a gun they need to be locked up. They have already broken the law by entering the country illegally. If their name is on the watch list by mistake, then are they to be punished?