This is a known issue with BF3. Under certain conditions (similar to the setup you describe) PunkBuster packets may route via a slightly different path than the game packets. In such cases you will get the “No Packet Flow” kick. The only known solution to this is to simplify your connection to the Internet such that both packets from the game and PunkBuster route in the same manner. This may include removing intermediate devices between your Internet connection and your gaming computer or switching to a different Internet provider.