BCB6しか持ってないからUnicodeString≒WideStringとして考えるけど
2バイトキャラなのでchar形に変換するのまずい。
あと oparator [] が使えると思うのでシンプルにこれでどうだろう?

s = ustr.SubString(i, 2);
Edit2->Text += AnsiString().sprintf("\&#%I16u%I16u;", s[0], s[1]);