I'd rephrase the problem statement slightly further: the superclass WcsSelectImagesTask identifies images which overlap a given patch anywhere. Any subsequent cuts by subclasses on seeing BestSeeingWcsSelectImagesTask or PSF properties PsfWcsSelectImagesTask may accordingly lead to areas of the patch where no data appears in the coadd, even if there is input data there.
This behavior is not an issue if the applied cuts are viewed as thresholds--i.e. no data should appear in the coadd if it has properties outside the allowed envelope (missing coverage in the coadd is preferred to coadding "bad" data). However, it does not give the desired behavior for selecting a "good seeing" subset for the purposes of image differencing. In that case we would prefer to achieve maximal spatial coverage but allow the seeing to vary as needed across the patch.
As a concrete illustration, consider two disjoint fixed pointings, both of which overlap half of a patch. One pointing (A) was visited ten times on the first night, with 1.0" seeing, and the second (B) was visited ten times on a second night with 2.0" seeing. As presently configured, calling BestSeeingWcsSelectImagesTask with nImagesMax = 5 on this data will select five visits from pointing A and none from pointing B, leaving a gap in the coadd. The desired behavior would be to select the 5 best seeing images from both A and B. Overlaps between A and B would further complicate this since we'd prefer to select only the portions of the B input images not covered by A for coaddition.
A temporary workaround that improves spatial coverage is to set nImagesMax to a large number and set maxPsfFwhm to a value that selects data everywhere. As the above case illustrates, though, we would need to set maxPsfFwhm == 2.0, which is substantially higher than is needed for the A pointing and so in a real example with other data would lead to a worse seeing coadd at that position.