If you scale matrix by constant it goes like:
[pascal]procedure Scale(var M: TMatrix; const s: Single);
var i: Integer;
begin
for i:=0 to 2 do begin
M[i, 0]:=M[i, 0] * s;
M[i, 1]:=M[i, 1] * s;
M[i, 2]:=M[i, 2] * s;
end;
end;[/pascal]

Extending that function to work with vector might be something like: (i'm just guessing here...)
[pascal]procedure Scale(var M: TMatrix; const v: TVector);
var i: Integer;
begin
for i:=0 to 2 do begin
M[i, 0]:=M[i, 0] * v.x;
M[i, 1]:=M[i, 1] * v.y;
M[i, 2]:=M[i, 2] * v.z;
end;
end;[/pascal]