Okay, I think I've got it.
At one time, there were failure rules assigned to this process, but they are now removed. Failure rules, as we know, prevent a Display Error from stopping a process. So I put my code in another (New) process and it ran just fine.
It "appears" that the process is still behaving as if failure rules are assigned.
So to prove it, I then added a failure rule to my "New" process, then saved everything. Then I deleted the failure rule, save, and tested. Again I see the the DISPLAY ERROR function is being ignored and all signs point to the conclusion that the process still believes that failure rules are assigned.
Bug.