Well, it does report the
[info] Null reference [template 'testbed/test.vm', line 1, column 51] : $private.Bar cannot be resolved.
in the log file with Velocity 1.5. the problem here is, that we cannot really distinguish whether this is just a typo or really a private/protected function and even if we could, we do run chains of method lookups (e.g. for getters, we are looking for getfoo, getFoo, get("foo")) so reporting functions that we could not find would log a number of false positives that might be even more confusing than not explicitly logging non-accessible functions.
And as we don't want to play games with changing the visiblity of the methods on the fly, we are basically stuck with what we have. That is reporting "null reference, $private.Bar cannot be resolved". We should add a note to the manual, though.