No fim, analisando o problema do caso indicado no post anterior... acho que ele (o problema) sempre esteve lá .. ou seja, não foi causado por nossas modificações na ACBrUtil e demais...
O problema ocorre por uma característica do Delphi, que na atribuição do "Text", do TStrings, considera o NULL, #0 como terminador...
procedure TStrings.SetTextStr(const Value: string);
var
P, Start, LB: PChar;
S: string;
LineBreakLen: Integer;
begin
BeginUpdate;
try
Clear;
P := Pointer(Value);
if P <> nil then
if CompareStr(LineBreak, sLineBreak) = 0 then
begin
// This is a lot faster than using StrPos/AnsiStrPos when
// LineBreak is the default (#13#10)
while P^ <> #0 do
begin
Start := P;
while not (P^ in [#0, #10, #13]) do Inc(P);
SetString(S, Start, P - Start);
E o comando de desligar negrito, na Daruma, é composto de um NULL...