I like both ideas. I personally went with the Johnson controls A419 from Amazon without the cord... which made it drastically cheaper. Extremely happy with it. One thing though... i read everywhere that you should tape the sensor to the bucket. I understand the theory, but have seen no difference in testing in my unit... I personally just have the sensor taped and hanging about 3" from the top. Although mine can't heat/cool at the same time (you flip a jumper)... i didn't want both items to run at any time anyway. Its either cold OR hot here in Pennsylvania...
I did a data log of the air temp in a freezer vs the temp of a five gal bucket of water.
While the air temp exhibited a clear and definite sawtooth pattern as the cooling cycled, the liquid temp as measured by direct immersion probe exhibited only a smooth line in temperature change. This is because the thermal mass of the bucket of liquid does not respond to changes in temp as short as the individual cooling cycle swings of the air temp. Only the (relatively speaking) long term average temp of the air influences the cooling of the liquid, not the individual cooling cycle swings of a couple/few degrees either way.
If controlling by air temp it is not necessary to have heating and cooling fighting each other to try to maintain a miniscule variation in air temp. The only reason heating is necessary is if the average temp in the ferm chamber is lower than your desired ferm temp.
Also, you said the air temp swings were pronounced and sawtooth where as the water temp swings were smooth. What was the high and low temp readings of the water? That will make a difference too. The temp changes can be as smooth as glass but if the swing goes from 61 to 93 (obviously exaggerated) it is not good for the beer.
I wish I had the tools to do this experiment. It would be cool to see what kind of temp swings we would see (if any).