TAdvToolbar TAdvDockPanel positioning issue at display scaling > 100%

Delphi 11.2
TAdvToolbar and TAdvDockPanel 6.8.3.8

If Windows Display Scaling is at 100%, moving toolbars around a dock panel seems fine and as expected, but at say a display scaling of 150% it is not. Toolbars are much harder to position to where you want them and other toolbars you are not moving get moved to seemingly random positions. The bigger problem is saving and restoring their positions. At 100% they restore their positions fine, but at 150% they do not. Example:

Position before saving:

Position after restoring:

Notice how the table toolbar went from being on the right edge over to the left edge. And the toolbar with undo/redo buttons moved from the left of the alignment toolbar to the right of the alignment toolbar. This works fine at 100%. Note: the table toolbar has five hidden buttons. I bring that up in case you are positioning the toolbar before hiding the buttons instead of after.

Routine I use to save the positions:

    tbEditorDockPanel.Persistence.Section := pSection;
    tbEditorDockPanel.Persistence.Enabled := true;
    try
      tbEditorDockPanel.SaveToolBarsPosition;
      tbEditorFont.SavePosition;
      tbEditorZoom.SavePosition;
      tbEditorEdit.SavePosition;
      tbEditorParagraph.SavePosition;
      tbEditorTools.SavePosition;
      tbImageTools.SavePosition;
      tbEditorTable.SavePosition;
      tbCustomToolbar.SavePosition;
    finally
      tbEditorDockPanel.Persistence.Enabled := false;
    end;

Routine I use to restore the toolbar positions:

    tbEditorDockPanel.Persistence.Section := pSection;
    tbEditorDockPanel.Persistence.Enabled := true;
    try
      tbEditorFont.LoadPosition;
      tbEditorZoom.LoadPosition;
      tbEditorEdit.LoadPosition;
      tbEditorParagraph.LoadPosition;
      tbEditorTools.LoadPosition;
      tbImageTools.LoadPosition;
      tbEditorTable.LoadPosition;
      tbCustomToolbar.LoadPosition;
      tbEditorDockPanel.LoadToolBarsPosition;
      SetCustomToolbarButtons();
    finally
      tbEditorDockPanel.Persistence.Enabled := false;
    end;

It seems the code you added in 6.8.3.8 broke this. If I replace it with 6.8.3.7 it works again. Code added in TRowCollectionItem.ArrangeToolBars was:

  function compareByPos(Item1 : Pointer; Item2 : Pointer) : Integer;
  begin
    if TAdvCustomToolBar(Item1).Left > TAdvCustomToolBar(Item2).Left then
      Result := +1
    else
      if TAdvCustomToolBar(Item1).Left = TAdvCustomToolBar(Item2).Left then
        Result := 0
      else
        Result := -1;
  end;

begin
  if not TRowCollection(Collection).FOwner.HandleAllocated then
    Exit;

  if not ADVToolBarDPI_ScaleSet then
    Exit;

  if ADVToolBarDPI_Scale <> 1 then
    FToolBarList.Sort(@CompareByPos);

Dragging the toolbars around is still wonky at any display scaling making it somewhat hard to move toolbars between rows.