TTMSFNCListBox and selection issue

I drop a listbox on the form.

I add 20 items to it.
I enabled multi selection
I select the first and with shift key the last, all items are marked blue as selected.

I change the text of the selected items in a simple loop:

for i:=lb.items.count-1 downto 0 do
begin
 if lb.items[ i ].isselected then lb.items[ i ].test:='123';
end;

as a result, only the first and last item are changed and not all.
The IsSelected function only return true for me for the first and last item.

Can you try:

lb.BeginUpdate;

for i:=lb.items.count-1 downto 0 do
begin
 if lb.items[ i ].isselected then lb.items[ i ].test:='123';
end;
lb.EndUpdate;

That seems to work. But it should not loose the selection of an item when just a text is changed.