In case anyone is interested ... I was looking in the wrong place, but I
finally found the problem. The spurious 40405 messages were the result of
the fact that this is a multi-form application. Several forms stay open at
the same time. Among other changes that I made, I changed the open_form call
to "no_session" rather than "session". At the time I did not catch the fact
that as a result, a commit on any open form caused the system to attempt to
commit all open forms. Since nothing was changing on the other forms, they
were returning a "No changes to apply" message (40405). I couldn't find the
40405 message on form I was working with because the form I was looking at
wasn't raising the error. Instead, it was being raised on the background
forms and when I got back to back messages, the message line pushed the
message to an alert box. Once I identified the cause, I could actually
switch between forms and see the 40405 message on the message line of each
form. As a former DBA, I don't want multiple sessions out there so I want to
leave the open_form as "no_session". The workable but not elegant solution
that I came up with was to put an ON-ERROR trigger at the form level on all
forms to trap the 40405 message.