I would recommend getting one 150W or two 100W heaters for that 30 gallon tank. A 50W heater is definitely too small. While 100W heaters are supposed to heat up to 30 gallon tanks, a good rule of thumb (as mentioned above) is to get enough heating so that you have 5 watts per gallon.
I suggest going with two 100W heaters instead of one 150W heater because it will provide more even distribution of heat throughout the tank (I put one on each end of my 29 gallon) and, heaven forbid, if one heater fails you have a backup.
I prefer the Hagen Tronic heaters myself (I use nine 50W and 100W heaters among my various tanks) because they are fully submersible, digital, have built in overheat cutoff and there are optional heater guards available. I have the heater guards on all of my heaters because they keep fish from burning themselves (very possible with catfish) and they protect the heater from damage caused by rocks, etc.
The only negative in this case is that they don't appear to be carried by Petsmart. At least they aren't listed on the Petsmart web site.