Yes, even a tiny air leak can prevent a puke tank from functioning properly. Does your radiator have the overflow tube in the filler neck, or does it have the "tuna can" on the top tank? If it's got the overflow in the fill neck, try using a 4 pound pressure cap with the suction valve in the middle. That's the type that will be needed to siphon coolant back from the puke tank. Also, be sure the tubing at the puke tank is submerged in liquid so it can siphon properly. Yes, either fix the heater leak, or isolate it.
Jerry