На форме есть label, к нему прописан код:

Код:
procedure TForm3.Label15Click(Sender: TObject);
begin
label15.Color:=clRed;
end;

Но если программу перезапускаешь, то изменненный ранее цвет у label остаётся прежним, какой был до изменения.

Скажите пожалуйста, как такое можно исправить?

Решение:

естественно, ведь цвет лэйбла изменяется при событии

Код:
procedure TForm3.[color=red]Label15Click[/color](Sender: TObject);
 begin

, иначе говоря, когда вы кликните мышкой по нему.
Чтобы цвет фона лэйбла сразу был нужным вам, вставьте ваш код

Код:
label15.Color:=clRed;

в событие создания формы (то бишь сделайте форму активной, в инспекторе перейдите на вкладку events, найдите там событие create и щелкните по нему дважды)

А можно что бы событие возникало по клику на label и после выхода из программы сохранялось?

Можно но тогда цвет надо где-то хранить например в реестре или (что будет наилучшим вариантом) в ini файле рядом с программой по поводу ini файла можно почитать http://pblog.ru/lab/?cat=411, а по поводу события по клику дак создай его и пиши