Letting the stub handle breakpoints will reduce the time GDB spends on putting data back and forth between each step somewhat. Not entirely though, since it keeps setting/clearing breakpoints - it just gets a bit more effecient. I raised the subject (on gdb-local) of letting the stub handle the breakpoints entirely and not set/clear them continously, but this appears to be a feature, allowing GDB to crash / lose the connection without affecting the target state. Of course, this is only true if it happens while the user is interacting with GDB - not while GDB is waiting for target actions... Oh well...
This bug has moved to http://bugs.ecos.sourceware.org/show_bug.cgi?id>23301