Hi Kerry
Dark frames are a good starting point to generate a defect map (as the CosmeticCorrection process does). For example, if you want to isolate the hot pixels, just use the Binarize process to create a black or white image that contains all the hot pixels. You have to carefully set the threshold value, using previews (not the real time one). Then, you have to invert the binary image, so "bad" pixels are black and "good" pixels are white.
The same is true for cold pixels. This time, most of the image will become white, leaving the cold pixels black, as you set the threshold value for the Binarize process.
You may apply the same strategy to deal with bad columns (it is easier to use light frames in this case). Also, you may use MorphologicalFilter to remove isolated pixels (with the opening or closing operations), or even the CloneStamp.
If you want to merge several maps into one, just use PixelMath, multiplying the maps, or taking the minimum value (since they are binary images, it is the same).
Just remember, bad pixels should be black (zero value). Any other value is considered as a good pixel.
Also, the DefectMap process allows you to use different operators to replace the data marked as bad. You may perform a convolution, where the pixel weights are the same as the pixel values in your defect map (and hence, this is the reason why bad pixels should have a zero value). Or, use morphological/statistical methods, that do not consider weights.
I already sent to Juan the documentation for this process, and a also a few changes to the code fixing bugs and adding the possibility to deal with bayered data. I hope he finds time to compile them and redistribute through the update system.