Yes, that looks cleaner.

UnitVector and Normalize do the same thing. No need to have two methods doing the same thing. Collapse it into one method.
Code:
function TVector.Normalize: TVector;
var
  Len: TScalar;
begin
  Result := Self;
  Len := Length;
  if Len > 0.0 then
    Scale(1.0 / Len);
end;
Some other things to mention there. You have TScalar declared, so use it consistently. You have used Single in some places throughout the code and TScalar everywhere else.

A quick optimization: When if..then statements are used, try to have the case that is most often true in the 'then' part. This improves branch prediction performance in the CPU.

I've almost finished my Vector unit. It would be interesting to compare performance between the two.