Rich,
AFAIK VC does not do "automatic overlays" -- if you think about it, it can't possibly know what you're going to need in the overlay. I thought that it worked all this out from the linker commands, not attempting to do it automatically. It may have a way of dumping out information that lets you easily decide how much code you can fit into an overlay though, by dumping out the size of the routines after compiling the .obj files.
Each source code module is put in its own code segment, or overlay, that can be moveable and discardable. There should be no problem as long as each module is less than 64KB. Looking at the winfract.map file, this appears to be the case (meaning, no modules are greater than 64KB). There could be a problem with far data, however. I thought I read that Windows puts all the far data into a single segment. From the winfract.map file, it doesn't look like this is happening. But, we have more than 64KB of far data. This was done to save near space in the DOS world. Jonathan