Следующая статья: Ошибки BDE Delphi.
Можно использовать переменную Atom, полная информация о которой содержится в справочном руководстве по Delphi.
program Project1;
uses Windows, Forms,
Unit1 in'Unit1.pas' {Form1};
{$R *.RES}
const
AtStr ='MyProgram';
function CheckThis: boolean;
var Atom: THandle;
begin
Atom:=GlobalFindAtom(AtStr);
Result:=Atom<>0;
if not Result then GlobalAddAtom(AtStr);
end;
begin
if not CheckThis then begin// Запуск программмы
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
GlobalDeleteAtom(GlobalFindAtom(AtStr));
end else MessageBox(0,'Нельзя запустить две копии программы','Error', 0);
end.