Не должны бы вообще-то они так себя вести. Надо попробовать.
ПС: Ну вот тестовый код - все нормально, ничего никуда не разъезжается:
Код:
procedure TForm9.FormCreate(Sender: TObject);
Var SB: TScrollBox;
P: TPanel;
i,j: Integer;
begin
SB := TScrollBox.Create(Form9);
SB.Parent := Form9;
SB.Align := alClient;
for i := 0 to 8
do for j := 0 to 8
do begin
P := TPanel.Create(Form9);
P.Parent := SB;
P.BoundsRect := Rect(10 + i*100, 10 + j*50, 110 + i*100, 60 + j*50);
end;
end;