Thanks for the response, David. And frankly, I am a little mystified now.
You will notice that hasError is declared as an observable at the top of the script. My fiddler probably doesn't make it very clear, but hasError is intended to be a generic indicator for any observable. My expectation was that changes made within any bindingHandler would cause notification to sibling bindings when it changed.
So, your solution solves the immediate problem for this particular bindingHandler. But the state of hasError is now dependent on a single definition of what constitutes an error condition and is no longer generic or reusable. I had hoped there would be something in the API that would allow me to force sibling bindings to update - I would be okay with having to do that manually, but I haven't yet found a mechanism to make it happen.