I like to avoid unnecessary assignments, so I tend to use either
if eval then
begin
// yada yada
Result := True
end
else
Result := False;
or, when there's no surrounding code, this :
Result := eval;
One other thing to keep in mind though, is that branching in time-critical code can have a negative impact on performance. In some situations, updating values multiple times can be faster, if it can be combined with branch-prevention. Here's an example :
for i := 0 to Length(aArray) - 1 do
if Assigned(aArray[i]) then
Inc(AssignedCounter);
This code could run faster if written like this :
for i := 0 to Length(aArray) - 1 do
Inc(AssignedCounter, Ord(Assigned(aArray[i])));