If I may step in, there's no bug here to report, for reasons I will explain. And I'll offer a couple alternatives besides your wise decision to go with an error handler. With all due respect to everyone trying to help so far, this issue is one that can trip up lots of folks--so don't feel bad for struggling with it, Jeff . 🙂
First and to the main concern you raised here, the debug output setting and ip address features in fact have ZERO to do with the error details you're reporting and are concerned to hide (rightfully so). Instead, note that on that Cf admin debug output settings page there is the "robust exception handling" option, which controls how much DETAIL is shown in error messages. Unchecking that, alone may have suited your need.
(It's indeed unfortunate that this setting is on that page. It can lead to reasonable confusion with other debug output which IS controlled by that debug ip list.)
Second, as you've now found, using an error handler (site-wide or app-level) is indeed the way to prevent a user seeing ANY error info from CF. And yes, you could send that error info to yourself in such an error handler (and/or log it, or store it in a db, etc.)
And finally to further address the reasonable security concern over error messages, note that cf10 and above offer a secure profile feature (in the admin security section), which if enabled would set a site wide error handler--if you've not set one yourself--and that would show the user a blue ball and only a very brief indication that there was an error (and it also logs the error).
Hope that's helpful, and sorry I'm only now seeing this. I was out of the country last week at the cfcamp conference in Germany. This is a great topic to help get clarified for the community every once in a while! 🙂
I welcome any feedback. As always, just trying to help. (Sadly, the intent behind words on screen can often be misconstrued. I've tried to write carefully here.)