I believe this is the intended behavior. I don't know of a good way for bash to figure out what exactly constitutes a terminal control sequence given a possible profusion of terminal types. As a result, the user is expected to declare which parts of a prompt do not take up any columns for such reasons.
>From bash(1), in section PROMPTING: | \[ begin a sequence of non-printing characters, which could be used | to embed a terminal control sequence into the prompt | \] end a sequence of non-printing characters ---> Drake Wilson -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org