I've used both the water bottle and the zippo hand warmers quite a bit. The zippos work, but I prefer the hot water bottle. The hand warmers will put off a fume that builds up over the night. I would always wake up with a headache and nasty taste from breathing it all night. I also had one case where 'something weird' happened. Not sure if it was gas leaking a bit or what, but it got crazy hot and actually burned me - have the scar to prove it. I still like the hand warmer, but the weight of the warmer and gas and it's inconsistency problems aren't worth using for backpacking.
I've actually recently switched to using two hot water bottles. Rather than carrying one large 32oz nalgene, I carry 2 smaller 16oz small mouth bottles link
. Toss 'em in wool socks and then throw one at my feet and one up by my chest. I found that the smaller bottles last just about as long but rather than having one really warm spot, I'm able to disperse the heat a bit.
It's also more convenient because my pot isn't quite big enough to boil enough water for the 32oz in one shot so while I'm boiling the 2nd round my bottle sits outside of my bag cooling off (wasted heat). But it will do the 16oz just fine. It keeps it flexible so I can just do one bottle for the warmer nights, or 2 if it's nasty cold. Love it!