I too have a problem with cold hands (Raynaud's Syndrome, which is basically a circulation problem to the fingers/toes). I don't have much of a solution while fishing, but when the fingers get too cold, I take a break and put on one of several pairs of my warmest gloves I always bring. If one pair gets wet, I move on to the next.
Those chemical heater packs work good, but in my experience, if they get wet or even just damp, they lose all their heat and stop working. That can be kind of hard to manage while fishing.
One other suggestion... again, not much help while you're fishing... but if you want to get your hands nice and toasty, I like to bring along a thermos full of something warm - a thermos of hot apple cider for my 3 year old (this does WONDERS for the mood!!!), and a thermos of coffee, or ok, maybe hot chocolate and Rumplemintz for me. Pour it in the lid and it will warm those hands right up as you cup it! And it also warms the spirit... win, win.