maptool is cross-platform Java (I run it on Linux) and handles fog of war. I use all of maptool, gimp, and inkscape depending on the problem. Typically for world/region maps I have them outlined in inkscape and can render those vector outlines (coasts/rivers/lakes/etc) at various resolutions in order to create different finished maps in Gimp. Battle maps/dungeons/cities I've done in maptool so far, but I'm probably going to shift cities to inkscape/gimp and only do the sections where fog of war and other tools are needed in maptool.

All 3 of those programs are open-source and run fine under Windows, Mac/OS X, and Linux.