> 自作の関数では同じようなことはできないので

意味がわかりませんが? 内部実装はともかく

function Napier: extended;
begin
  result := exp(1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := FloatToStr(Napier);
end;

で、何が不都合なの?