The thing is that Gauche aims at a hybrid of Scheme and general list-processing library in C; C API can be called from other C functions unrelated to Scheme.
The bottom error handler can examine the Scheme VM state and get info from the top frame in the stack. But it isn't necessarily the Scheme procedure related to the C API, for the Scheme procedure may be tail called, in that case we don't have a frame for it at the time the C API is called.
There's a couple of choices---change all the C API to take some Scheme context info (we can reference the current Scheme VM info, but that's not enough because of the tail-call problem), or wrap low-level calls in srfi-170 to prevent tail-calling bottom-level API.