Приведенная функция SetDlina не подходит. Если она должна менять конфигурацию - нужно что-то в этом роде:
Код:
procedure GetSettings(Value: string);
begin
ADOQuery.SQL.Text:='<запрос на все параметры>';
ADOQuery.Open;
FDlina := ADOQuery.FieldByName('BDlina').asfloat;
FShirina := ADOQuery.FieldByName('BShirina').asfloat;
...
end;
Проперти же сделать Read-Only. Тогда мы гарантируем, что загружены они будут только из базы, а не с потолка, и при этом их можно читать.
З.Ы. с пропертями почти не работал, не люблю их. Но насколько помню, для установки значения функция должна не возвращать double, а явно записывать в поле.