Yes that is perfectly normal. If it stayed on for extended periods the heater tube would get too hot and possibly damage/burn something.
If it is cycling on and off constantly then the heater is undersized for the tank, not oversized, a 150 watt should be able to manage a 30 gallon tank, but from your description, it's acting like it's not enough for your tank.
Why do you have the heater set so low, most tropical fish need ~76-84 degrees. your tank sitting at 80 is fine.
You should double check the temp with another/different thermometer to make certain the readings are correct.
What brand of heater is it? If the temp is actually 80 and the heater is set at 72, I don't think I would trust the heater.
It isn't uncommon for there to be slight variations between the heaters thermostat and actual temps, but a difference of 8 degrees is wacked.
again, test the tank temp with a different thermometer.
Put the thermometer at the opposite end of the tank from the heater.
and yes, putting the heater near the output of the filter will help a bit.
finally, start shopping for a new heater, because I fear that one may be on it's way out
I just got a Hydor ETH inline 300 watt heater for my system, set it at 79 and my temps haven't fallen below that once.
(remember, your tank will always be at least a few degrees cooler than the ambient air temperature, so if it's 82 degrees out, then don't expect your tank to be much below 80 degrees no matter what heater you have, unless it's also a chiller.)