Use Windows API GetSystemMetrics with SM_CLEANBOOT parameter, this specifies how the system was started, in your project´s code use:
program Project1;
uses Forms, Windows, Dialogs, Unit1 in ''''Unit1.pas'''' {Form1};
{$R *.RES}
begin Application.Initialize; Application.CreateForm(TForm1, Form1);
case GetSystemMetrics(SM_CLEANBOOT) of 1: begin ShowMessage(''''Running in Safe Mode: Fail-Safe Boot''''); Application.Terminate; end; 2: begin ShowMessage(''''Running in Safe Mode: Fail-safe with network boot''''); Application.Terminate; end; end;