Actually the black plain idea might work.
You could start with a big plain, at ground level, then colour it dark grey (not black), then everytime a unit goes to a new tile, you'd adjust the image so that the areas under units are disolved. If the plain was negative ghosted, you would colour the revealed areas grey, or jet black if your using transparency. The idea is that you disable the plains ZDepth, that way it is drawn on top of everything.
If your level is 100x100 tiles, you could just use a 100x100 image, that way the fog would blend between the tiles, it would'nt look blocky, it'd look just like warcraft2, probably smoother though.
In DBPro you could make the image from a memblock, like have the image as a memblock, adjust the pixel colour inside the memblock then convert to an image each time.
In DBClassic you could use a hidden bitmap and plot fog changes (probably best to do it on a unit by unit basis), then get the image.
Van-B
I laugh in the face of fate!