I get them in my hamstrings and calves after any prolonged exercise, even moderate.
I started drinking a glass of salt water (about 1T of salt) because nothing else was working -- extensive post-exercise stretching, plenty of water, etc.
Cramping is often caused by an electrolyte deficiency. There are two main electrolytes that facilitate the nervous impulses that make our muscles contract: sodium and potassium. Bananas have a lot of potassium. (I'm not sure what magnesium and zinc would do at all about cramps.)
The thing is, potassium is the intra-cellular electrolyte, i.e. it's inside the cells. Sodium is the intra-cellular, i.e. in the interstitial fluid between cells. As a result, you don't really lose potassium to sweat -- it stays inside the cells and doesn't really fluctuate to a huge extent. But sweat contains sodium. In my case, a ton of sodium. From what reading I've done online, I end up in a state called hyponatremia (significant sodium deficiency) after a few hours of even leisurely cycling (admittedly the Texas heat plays a part there in that I sweat more than I otherwise would.) Hyponatremia symptoms include muscular cramps, headaches, malaise, and some other random stuff.
Of the things you list, only sports drinks would contain sodium, and not necessarily very much, at that. The other liquids, since they contain no sodium at all, will actually make a sodium deficiency worse, since they dilute what sodium you do have in your body.
I know salt has a kind of negative stigma, like it'll dehydrate you further, or excessive sodium causes high blood pressure, or whatever, but if you have painful muscular cramps, seriously just try consuming more salt. Try something controlled like a tablespoon dissolved in a glass of water, and see if it doesn't help.
For me, taking that amount of sodium right after exercise completely alleviated all of my cramping. And I used to get it bad -- I'd be at a restaurant later in the day and both hamstrings would seize and I'd slowly have to straighten my legs under the table in agony, sometimes even standing up from the table and clutching the chair back, making something of a scene. No more!