Ok, I think I solved this one.
My code for filling in the 'EstimateNumber' field fires on Form Exit. Here it is:
// Only assign the number if this is a new record which has been changed.
var vNextNum as Int
If @Mode() = 0 // We are in Add Mode.
{
If (@Modified) // The record has been modified.
{
If (@IsBlank(COMPANYNAME) <> 1) AND (@IsBlank(DESCRIPTION) <> 1) AND (@IsBlank(ESTIMATENUMBER) = 1)// neither COMPANYNAME nor DESCRIPTION ARE BLANK, and ESTIMATENUMBER is blank
{
vNextNum = @ToNumber(@GlobalValue("gvEstimateNumber")) + 1
EstimateNumber = vNextNum
GlobalValue("gvEstimateNumber", @Str(vNextNum))
//Write("Form Exited -- in Add Mode, record changed, met restrictions. EstimateNumber updated." + @NEWLINE())
}
Else // Restrictions not met!
{
If (@IsBlank(COMPANYNAME) <> 1) AND (@IsBlank(DESCRIPTION) <> 1) AND (@IsBlank(ESTIMATENUMBER) <> 1)
{
//@MsgBox("Add Mode, Modified,","Restrictions Met","ESTIMATENUMBER pre-existing - SAVED")
}
Else
{
NotifyForm(1) // prevent saving.
//@MsgBox("This job was not issued a job number and saved because:","either COMPANYNAME or DESCRIPTION field were blank","or this job had already been given a job number.")
}
}
}
Else
{
//Write("Form Exited -- in Add Mode, record NOT changed. ESTIMATENUMBER NOT updated." + @NEWLINE())
}
}
Else
{
//Write("Form Exited -- not in Add Mode, ESTIMATENUMBER NOT updated." + @NEWLINE())
}
That programming appears on the ESTIMATES form.
The CLIENTS form (which has "ESTIMATES" as a relationally linked subform) stopped saving blank estimate records once I added the following programming statements to CLIENTS:

n Form Entry
FormNotifyForm("ESTIMATESabbrev", 1) //Do not allow saving of subrecords.
'ESTIMATESabbrev' is a copy of the original layout, with extra LE's removed.
So I think I figured out what to do, but I have a new problem now.
I updated my "sbasic_include.sbas" file (it's in the directory C:/Sesame2, like the old file) and now suddenly none of my XResultSet commands seem to be working. Even when I go back to an earlier copy of the application I'm developing, the programming no longer works. Is that likely to be the result of a 'bad' include file?